假设我有字典:
myDict = [{'first': 'James', 'middle': 'Smith', 'last': 'Joule'},
{'first': 'James', 'middle': 'Johnson', 'last': 'Watt'},
{'first': 'Christian', 'middle': 'Edward', 'last': 'Doppler'}
{'first': 'Robert', 'last': 'Antonio'}]
我有一个名为keys的列表:
keys = ["middle", "last"]
我想根据键中的每个值筛选myDict,这将导致
filteredDict = [{'middle': 'Smith', 'last': 'Joule'},
{'middle': 'Johnson', 'last': 'Watt'},
{'middle': 'Edward', 'last': 'Doppler'},
{'last': 'Antonio'}]
如myDict list中的list dictionary所示,字典不必同时具有两个键才能放入filteredDict。在Python中,有没有一种简单的方法来理解字典呢?
如果你只做一次,请使用NeverWhalkinoner的答案。但是,如果你发现自己经常操作字典列表,我已经编写了一个名为PLOD的免费库,它简化了大部分内容。
库位于PyPi上:https://pypi.python.org/pypi/PLOD
为了更普遍地做您想要的事情,我需要添加一个新的类方法。也许是
.filterKeys
。也许我会在1.8版中这么做。然后它会:嗯。。。
顺便说一下,lib现在支持Python 2.7.x。仍在开发3.5.x版本。
列表理解:
但您也可以使用map来实现:
输出:
相关问题 更多 >
编程相关推荐