[英]What is the pythonic way to this dict to list conversion?
例如,转换
d = {'a.b1': [1,2,3], 'a.b2': [3,2,1], 'b.a1': [2,2,2]}
至
l = [['a','b1',1,2,3], ['a','b2',3,2,1], ['b','a1',2,2,2]]
我现在应该做什么
l = []
for k,v in d.iteritems():
a = k.split('.')
a.extend(v)
l.append(a)
绝对不是一种pythonic方式。
Python 2:
d = {'a.b1': [1,2,3], 'a.b2': [3,2,1], 'b.a1': [2,2,2]}
l = [k.split('.') + v for k, v in d.iteritems()]
Python 3:
d = {'a.b1': [1,2,3], 'a.b2': [3,2,1], 'b.a1': [2,2,2]}
l = [k.split('.') + v for k, v in d.items()]
这些被称为列表推导 。
你可以这样做:
>>> d = {'a.b1': [1,2,3], 'a.b2': [3,2,1], 'b.a1': [2,2,2]}
>>> print([k.split(".") + v for k, v in d.items()])
[['b', 'a1', 2, 2, 2], ['a', 'b1', 1, 2, 3], ['a', 'b2', 3, 2, 1]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.