011列表操作解压缩,字典压缩的是Key

列表操作解压缩,字典压缩的是Key


一、解压缩

如果我们给出一个列表,我们需要一次性取出多个值,我们是不是可以用下面的方式实现呢?

>>> name_list = ['reed', 'egon', 'jason']
>>> x = name_list[0]
>>> y = name_list[1]
>>> z = name_list[2]
>>> print(f'x:{x}, y:{y}, z:{z}')
x:reed, y:egon, z:jason

讲真,上面的方法真的是谁用谁知道,我们可以试一试解压缩。

解压缩可以这样理解:超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来。

>>>name_list = ['reed', 'egon', 'jason', ]
>>>x, y, z = name_list
>>>print(f'x:{x}, y:{y}, z:{z}')
x:reed, y:egon, z:jason

有时候我们解压缩的值可能是我们不想要的,那么可以使用下划线,万能的下划线。

>>> name_list = ['reed', 'egon', 'jason', 'tank']
>>> x, y, z, a = name_list
x:reed,y:egon,z:Jason,a:tank
>>> x, _, z, _ = name_list  # _相当于告诉计算机不要了,不能以_开头和结尾
x:reed,z:Jason

还能有一个更骚的操作,只可意会不可言传(*-)。


*-懒人式替代下划线()

>>> name_list = ['nick', 'egon', 'jason', 'tank', 'kevin', 'jerry']
>>> x, y, _, _, _, z = name_list
x:nick,y:egon,z:jerry
>>> x, y, *_, z = name_list
x:nick,y:egon,z:jerry

写程序不是用来装逼的,关键是创造价值。python追求的是简洁性,代码不要写的太长了。因此字典也是可以的,但是字典解压缩的是key。

>>> info = {'name': 'reed', 'age': 18}
>>> x, y = info
>>> print(x, y)
name age
posted @ 2019-10-23 23:18  FirstReed  阅读(216)  评论(0编辑  收藏  举报