数据存储于元组中我们如何获取对应的元组数据呢,这个过程叫解包,解包就是指将元组当中的每个元素都赋值给变量比如: my_tuple1 = 10,20,30,40
a,b,c,d = my_tuple1
print('a = ',a)
print('b = ',b)
print('c = ',c)
print('d = ',d)
a = 10
b = 20
c = 30
d = 40
但当元组太多,我只取前两位,或后两位该如何操作呢比如上面例子 my_tuple1 = 10,20,30,40
a,b = my_tuple1
ValueError: too many values to unpack (expected 2)
表示元组太多无法进行解包,如果这种情况改如何操作呢
在元组解包过程中,变量的数量必须和元组中的元素一一对应,其实如果变量和元素不对等的时候可以用 * 赋值给另一个变量,这样变量将会获取剩余元组的元素以列表的形式返回 比如a,b ,*c = my_tuple1
print('c = ',c) c 获取剩下的元组生一个列表
c = [30, 40]
*a,b,c = my_tuple1 最后两位与元组最后两位对应,剩余的数据已列表形式返回给 变量a
print('a = ',a)
a = [10, 20]
2.可变对象
可变对象指的是我们可以对对象里的value进行改变
列表是一个可变变量,操作时可以通过变量去修改对象的值,
在Python中数值型,字符型,元组类型都是不可变变量类型
列表(list),字典(dict),集合(set)都是可变类型,可变类型都存储了三个数据 id(标识)、type(类型),value(值)
a = [1,2,3]
b = a
b[0] = 10
print('a',a,id(a))
print('b',b,id(b))
a [10, 2, 3] 30102088
b [10, 2, 3] 30102088
改对象的值会影响索引指向该对象的值
a = [1,2,3]
b = a
b = [10,2,3]
print('a',a,id(a))
print('b',b,id(b)
a [1, 2, 3] 31183496
b [10, 2, 3] 30102088
为一个变量重新赋值,不会影响其他的变量
3.字典
3.1字典的基本介绍
字典的值可以是任意对象
字典的key可以是任意不可变的对象(int,str,tuple,tool。。。)
d = {'name':'葫芦娃','age':7,'gender':'男'}
字典的key不能重复,如果出现重复,最后边会替换前面的值
d = {'name':'葫芦娃','age':7,'gender':'男','name':'钢铁侠'}
print(d)
{'name': '钢铁侠', 'age': 7, 'gender': '男'}
3.2字典的使用
dict()函数来创建字典
get(key[,default])根据键来获取字典的值,第二个参数可以指定默认值,当获取不到值的时候会返回默认值
update(),将其他字典的key-value添加到当前字典中
del 删除字典中的key-value
popitem()删除字典最后一个key-value,并返回删除值
pop(key[,default]),根据key删除定义中的value