我想在字典中挑选所有具有特定键:值对的对象。
例如:如果我想要对";键":"x〃;来自以下词典:
mydictionary =
"1" : {
"key" : "x",
"key2" : "b",
},
"2" : {
"key" : "y",
"key2" : "b",
},
"3" : {
"key" : "y",
"key2" : "a",
},
"4" : {
"key" : "x",
"key2" : "b",
}
输出将是对象";1〃;以及";4〃;。
这可能是一个重复的问题,但尽管进行了搜索,我还是找不到类似的问题。
这样的东西?
[k for k, v in mydictionary.items() if v['key'] == 'x']
您需要用{}
将字典括起来
In [164]: mydictionary
Out[164]:
{'1': {'key': 'x', 'key2': 'b'},
'2': {'key': 'y', 'key2': 'b'},
'3': {'key': 'y', 'key2': 'a'},
'4': {'key': 'x', 'key2': 'b'}}
In [165]: {i:mydictionary[i] for i in mydictionary if mydictionary[i]["key"] == "x"}
Out[165]: {'1': {'key': 'x', 'key2': 'b'}, '4': {'key': 'x', 'key2': 'b'}}