我有一个列表字典,我想将它们合并到一个命名元组列表中。我想要第一个元组中所有列表的第一个元素,第二个元组中的第二个元素,依此类推。
Example:
{'key1': [1, 2, 3], 'key2': [4, 5, 6], 'key3': [7, 8, 9]}
我希望生成的列表如下所示:
[('key1': 1, 'key2': 4, 'key3': 7),
('key1': 2, 'key2': 5, 'key3': 8),
('key1': 3, 'key2': 6, 'key3': 9)]
我认为有一种优雅的方法可以做到这一点?
Edit:
我将@Steve Jessop 的namedtuple 答案的运行时间与@Ashwini Chaudhary 的字典版本进行了比较,前者更快一些:
d = {key: numpy.random.random_integers(0, 10000, 100000)
for key in ['key1', 'key2', 'key3']}
平均。 100 次运行:
namedtuple and map: 0.093583753109
namedtuple and zip: 0.119455988407
dictionary and zip: 0.159063346386