繁体   English   中英

如何通过Python函数运行许多键

[英]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))

但请注意,字典是无序的 (直到 ),因此可以按各种可能的顺序枚举键。 这不是因为我们在这里迭代它的方式:当你在字典中存储键值对时,顺序在字典中“丢失”。

您应该使用一个来存储输出,因为字典键没有排序:

{myfunction(mydict, k) for k in in mydict}

请注意,使用集合需要myfunction所有输出都是可myfunction

或者,如果你想要的按键排序,以便输出的排序键的结果(即列表52005201等):

[myfunction(mydict, k) for k in sorted(list(mydict.keys()))]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM