基本赋值
x = 5
序列赋值
[a,b,c] = [1,2,3]
[a,b,c] = (1,2,3) #序列的赋值可以接受任意格式的
s = 'youxiu'
a,b,c = s[0],s[1],s[2:]
扩展序列解包赋值
注意解包后返回的是list
a,b,*c = s
s = [1,2,3]
a
Out[125]: 1
b
Out[126]: 2
c
Out[127]: [3]
如果想要把 list 变成 string:
''.join(str) #变成string
a = [1,2,3] #''.join(a)#报错
注意join()内必须是string
a= ['a','b','c']
''.join(a)
Out[136]: 'abc'
注意解包和不解包对对象值的要求
a,b,c,d = 'usc'#报错
a,b,c,*d = 'usc'
有以上区别是因为解包后返回的是list
多目标赋值
a = b = []
a.append(3)
b
Out[137]: [3]
a = []
b = []
a.append(3)
b
Out[141]: []
a, b = [], []
a.append(3)
b
Out[142]: []
注意以上赋值方式对b的影响
参数化赋值
x=5
y=6
x=x+y
a,b=1,2
a += b
列表
l= [1,2]
l += [9,10]#第一个列表连接第二个列表
l.append()#加一个列表元素
l.extend()#加一个列表,相比+=,效率更高