7.22分享——元素的解包
python中的可迭代类型(比如元组、列表)中有一个非常实用的小功能,元素的解包。
比如:
a,b,c = [1,2,3] print(a,b,c) 结果: 1 2 3
当然元组也支持
a,b,c = ('a', 'b', 'c') print(a) print(b) print(c)
这样看我们是很明白的,接下来我们列举一个比较常见的用法:
s = 'alex|alex3714' user,pwd = s.split('|') # 由于字符串切分之后得到的结果是一个列表 print(user,pwd) # 在这里直接用对应的变量来分解这个列表中的元素更方便
扩展用法,*
还有些情况,比如我们有一个列表['alex','alex3714',84,'13838383838'],如果我们只想要其中的几项,其他的内容都不需要,我们可以使用星号来代替。
想取第0、1两项:
name,pwd,*others = ['alex','alex3714',84,'13838383838'] print(name) print(pwd) print(others) 结果: alex alex3714 [84, '13838383838']
或者只想要第0项和最后一项
name,*others,number = ['alex','alex3714',84,'13838383838'] print(name) print(others) print(number) 结果: alex ['alex3714', 84] 13838383838
特殊的变量名'_':
当一些元素不用时,用_表示是更好的写法,可以让读代码的人知道这个元素是不要的,这是一种约定,并不是语法的要求。
name,*_,number = ['alex','alex3714',84,'13838383838'] # 这样写代表只关心name和number的值 print(name) print(number) 结果: alex 13838383838
这就是神奇的解包操作,不会用解包并不影响你写代码,但是解包的用法却更符合python简洁的设计理念,所以用好解包,让你的代码更加pythonic吧!

浙公网安备 33010602011771号