【发布时间】:2010-10-15 01:00:55
【问题描述】:
如果我有这样的字典:
{'a': 1, 'b': 2, 'c': 3}
我怎样才能把它转换成这个?
[('a', 1), ('b', 2), ('c', 3)]
我怎样才能把它转换成这个?
[(1, 'a'), (2, 'b'), (3, 'c')]
【问题讨论】:
-
[tuple(reversed(x)) for x in d.items()] -
@garej:鉴于
x在您的代码中已经是tuple(items的本质是生成tuples 的可迭代对象),这样会更简单/更快就做[x[::-1] for x in d.items()];反转切片直接构造一个适当大小的反转tuple,而不是让tuple构造函数从reversed迭代器迭代填充(在最后进行过度分配和调整大小)tuple。 -
@ShadowRanger,你是对的。我只是想明确一点,在这种情况下并不总是需要
k, v模式。
标签: python list dictionary