小编pur*_*duc的帖子

Python3:通过理解从字典中有条件地提取键

我需要提取其值超过某个条件的字典的那些键.基本上,我想这样做,只是以更短,更pythony的方式:

keys=[]
for key in dict:
    if dict[key]==True:
        keys.append(key)
Run Code Online (Sandbox Code Playgroud)

这是我最初的想法,但它引发了一个ValueError:

[key for (key,val) in map if val==True]
Run Code Online (Sandbox Code Playgroud)

我暂时想出了这个,但我不禁觉得它不是很好:

[key for key in map.keys() if map[key]==True]
Run Code Online (Sandbox Code Playgroud)

是否有一个不那么混乱的方式呢?也许显而易见的是我明显失踪了?

谢谢!

python dictionary python-3.x dictionary-comprehension

6
推荐指数
2
解决办法
4398
查看次数