我有一个Python字典,例如mydict = {}
{5200:{'C1': 0.2, 'C2': 0.8, 'C3': 0.3},
5201: {'C1': 0.0, 'C2': 0.8, 'C3': 0.2},
5202: {'C1': 0.0, 'C2': 0.8, 'C3': 0.2},
...}
然后我创建一个函数,为我插入的每个键提供结果。
def myfunction()
为了得到我的成绩,我写
myfunction(mydict, 5200)
是否可以将我的所有键[5200、5201、5202 ..]插入该函数中,以便获得结果列表?
答案 0 :(得分:2)
是的,您可以为此使用列表理解:
[ myfunction(mydict, key) for key in mydict ]
或者您可以使用map(..)
:
from functools import partial
list(map(partial(myfunction, mydict), mydict))
但是请注意,字典是无序的(直到python-3.x),因此可以按每种可能的顺序枚举键。这不是由于我们在此之上对其进行迭代的方式所致:当您将键值对存储在字典中时,则该顺序在字典中“丢失”。
答案 1 :(得分:1)
由于不按字典键排序,因此应使用设置来存储输出:
.limit()
请注意,使用集合要求{myfunction(mydict, k) for k in in mydict}
的所有输出都是可散列的
或者,如果要对键进行排序,以使输出是已排序键的结果(例如myfunction
,5200
等的列表):
5201