[英]How to run many keys through a Python function
我有一个像这样的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,..]插入到该功能中,以便我可以得到结果列表?
是的,你可以使用列表理解 :
[ myfunction(mydict, key) for key in mydict ]
或者你可以使用map(..)
:
from functools import partial
list(map(partial(myfunction, mydict), mydict))
但请注意,字典是无序的 (直到python-3.x ),因此可以按各种可能的顺序枚举键。 这不是因为我们在这里迭代它的方式:当你在字典中存储键值对时,顺序在字典中“丢失”。
您应该使用一个集来存储输出,因为字典键没有排序:
{myfunction(mydict, k) for k in in mydict}
请注意,使用集合需要myfunction
所有输出都是可myfunction
或者,如果你想要的按键排序,以便输出的排序键的结果(即列表5200
, 5201
等):
[myfunction(mydict, k) for k in sorted(list(mydict.keys()))]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.