python数据类型之基础进阶
一: 解构
1.1 结构字符串
- 变量和字符个数必须严格一致
name = 'wc' a,b=name print(a) print(b) # w # c
name = 'w' a,b=name print(a) print(b) #ValueError: not enough values to unpack (expected 2, got 1)
name = 'wangys' a,b=name print(a) print(b) # ValueError: too many values to unpack (expected 2)
1.2 元祖
- 变量和元素个数必须严格一致
name = ('wangys',18) a,b=name print(a) print(b) # wangys # 18
1.3 列表
name = ['wangys',18] a,b=name print(a) print(b) #wangys # 18
1.4 字典
name = {'name': 'wangys','age':18} a,b=name print(a) print(b) #name # age
name = {'name': 'wangys','age':18} for a,b in name.items(): print(a,b) # name wangys # age 18
二 深浅拷贝
2.1 直接赋值,操作的是同一个对象
a = [1,2,3] b = a a.append(4) print(b) # [1, 2, 3, 4]
2.2 浅拷贝
- 只是拷贝的第一级元素,二级元素共享
- 方法 [:] .copy()
a = [1,2,3,['wangys']] b = a[:] a[3].append('mengsx') print(b) # [1, 2, 3, ['wangys', 'mengsx']]
a = [1,2,3,['wangys']] b = a.copy() a[3].append('mengsx') print(b)
2.3 深拷贝
- 整体拷贝(所有相关的,完全是另外一个对象)
- copy模块的deepcopy函数
import copy a = [1,2,3,['wangys']] b = copy.deepcopy(a) a[3].append('mengsx') print(b) # [1, 2, 3, ['wangys']]