什么是构建字典的"最pythonic"方式,其中我有一个序列中的值,每个键将是其值的函数?我目前正在使用以下内容,但我觉得我只是错过了一种更清洁的方式.注意:values是与任何字典无关的列表.
for value in values:
    new_dict[key_from_value(value)] = value
Han*_*Gay 18
至少它更短:
dict((key_from_value(value), value) for value in values)
kur*_*sch 15
>>> l = [ 1, 2, 3, 4 ]
>>> dict( ( v, v**2 ) for v in l )
{1: 1, 2: 4, 3: 9, 4: 16}
在Python 3.0中,您可以使用"dict comprehension",它基本上是上述的简写:
{ v : v**2 for v in l }
| 归档时间: | 
 | 
| 查看次数: | 472 次 | 
| 最近记录: |