版权声明:本文为博主原创文章,未经博主允许可以转载。 https://blog.csdn.net/killeri/article/details/82822155
一、python有简单的赋值,如x= 1
二、序列赋值,如 a, b, c = 1, 2, 3 或者[a, b, c] = 1, 2, 3 又或者 (a, b, c) =1, 2, 3
序列赋值要求等号两边都是序列,变量的序列和值的序列,然后序列长度相等,也就是序列值一一对应
还可以进行嵌套赋值:
((a,b),c) = [[1, 2], 3]
这样a = 1, b=2, c=3.就是这么神奇。
对于for语句,序列赋值和嵌套赋值好像很有用:
for (a, b, c) in [(1, 2, 3),(4, 5, 6), (7, 8, 9)]:
print(a,b,c)
# a取值为1,4,7,相应的b,c取值。
三、python中还有比较强大的序列解包赋值:
一个列表赋给了带星号的名称, 该列表收集了值序列中没有赋值给其他变量的所有项。
有两个要求:
(一)、带星号的变量必须在一个变量序列中
(二)、带星号变量最终一定只一个列表
a, *b, c = "spam"
# a = 's', c = 'm', b = ['p', 'a']
*b = [1, 2,3]
# 是错误的,见上面第一条
*b, = [1, 2, 3] (加了一个逗号)
# 是正确的,b = [1, 2, 3]