程序媛

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吧!

 

posted @ 2019-07-22 17:26  Eva_J  阅读(243)  评论(0)    收藏  举报