rank | vote | view | answer | url |
---|---|---|---|---|
85 | 1062 | 632188 | 10 | url |
在 Python2.6 或者之前的版本:
d = dict((key, value) for (key, value) in iterable
在 Python2.7 和 3以后的版本中, 你可以直接使用 dict comprehension syntax:
d = {key: value for (key, value) in iterable}
当然你可以使用任何包含两个元素的迭代方式来进行生成:
d = {value: foo(value) for value in sequence if bar(value)}
def key_value_gen(k):
yield chr(k+65)
yield chr((k+13)%26+65)
d = dict(map(key_value_gen, range(26)))