Python: 一句code解释三个类型:列表、元组、字典

下面这句是存储系统测试中的用到的一句code。

1 具体code:

Curvetags = [{'tags': [(str(x), j) for j, x in enumerate(data['tags'])]}]

请大家先自己想想大概的作用和功能。

2 举例拆解:

3.1 假设: data = {‘tags’: [‘A’, ‘B’, ‘C’]}

3.2 那么: data['tags'] = [‘A’, ‘B’, ‘C’]

3.3 enumerate会把列表中的每个元素配对一个索引(从0开始)

所以,enumerate(data['tags']) = [(0, 'A'), (1, 'B'), (2, 'C')]

3.4 for j, x in 这种写法叫解包(unpacking),把上面的元组拆开。

j=0, x='A'

j=1, x='B'

j=2, x='C'

3.5 每次循环构造成一个新的元组str(x), j

('A', 0)

('B', 1)

('C', 2)

3.6 把上面的结果放到新的列表:

[('A', 0),('B', 1),('C', 2)]

3.7 最终的结果是:

Curvetags = [{'tags': [(str(x), j) for j, x in enumerate(data['tags'])]}]

||

V

Curvetags = [{‘tags’: ('A', 0),('B', 1),('C', 2)}]

3 一句话解释:

把每个标签值转换成字符串,再和它的索引配对,组成一个新的(值、索引)的元组列表,最后放到字典里。

欢迎关注微信公众号:大滨读书健身(全网同名)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值