你知道转换这个列表的更好/更快的解决方案吗
['foo1:bar1', 'foo2:bar2', 'foo3:bar3']
进入下面的字典
{'col2': ['bar1', 'bar2', 'bar3'], 'col1': ['foo1', 'foo2', 'foo3']}
由于两个 for 循环,当前版本看起来有点奇怪并且可能很慢。
tuples = ['foo1:bar1', 'foo2:bar2', 'foo3:bar3']
tuples_separated = [one.split(':') for one in tuples]
tidied = {'col1': [], 'col2': []}
for one in tuples_separated:
tidied['col1'].append(one[0])
tidied['col2'].append(one[1])
请您参考如下方法:
使用zip 压缩项目?
In [15]: d={}
...: vals=zip(*(i.split(':') for i in tuples))
...: d['col1'], d['col2']=vals
...: print d
{'col2': ('bar1', 'bar2', 'bar3'), 'col1': ('foo1', 'foo2', 'foo3')}
