84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
我有一个元组列表:
现在我想把这组元组变成字典的列表,类似的效果是这样:
meat = [ { "地区词":"深圳福田区", "品牌词":"TTM全身体检", "疑问词":"地址怎么走", "价格词":"价格要多少钱" }, { "地区词":"深圳保安区", "品牌词":"TTM全身体检", "疑问词":"地址怎么走", "价格词":"要做多少项目" }, ..... ]
有什么比较方便的方法?
ringa_lee
@dokelung 的方法可以更简洁
names = 'area brand question price'.split() lst = [dict(zip(names, t)) for t in tlst]
names = 'area brand question price'.split() lst = [{name:value for name, value in zip(names, t)} for t in tlst]
測試:
tlst = [('a1','b1','q1','p1'), ('a2','b2','q2','p2'), ('a3','b3','q3','p3')] names = 'area brand question price'.split() lst = [{name:value for name, value in zip(names, t)} for t in tlst] print(lst)
結果:
[{'brand': 'b1', 'area': 'a1', 'question': 'q1', 'price': 'p1'}, {'brand': 'b2', 'area': 'a2', 'question': 'q2', 'price': 'p2'}, {'brand': 'b3', 'area': 'a3', 'question': 'q3', 'price': 'p3'}]
我回答過的問題: Python-QA
简单的写法:(a是元组组成的数组)
meat = [{'地区词':t[0], '品牌词':t[1], '疑问词':t[2], '价格词':t[3]} for t in a]
当然你也可以试试用映射的方法,这里不写了
为了强行装逼,使用$lambda$表达式写个:
list(map(lambda x: {'地区词':x[0], '品牌词':x[1], '疑问词':x[2], '价格词':x[3]}, a))
请忽略我的答案。。。
楼上正解 组成单独的字典,然后调用数组的append 就ok了
@dokelung 的方法可以更简洁
測試:
結果:
我回答過的問題: Python-QA
简单的写法:(a是元组组成的数组)
当然你也可以试试用映射的方法,这里不写了
为了强行装逼,使用$lambda$表达式写个:
请忽略我的答案。。。
楼上正解 组成单独的字典,然后调用数组的append 就ok了