python - 如何过滤具有给定键匹配值的字典列表

标签 python list dictionary filter

使用类似a = copyf(dictlist, key, valuelist) 的接口(interface)。

>>> dictlist = [{'first': 'James',
                 'last': 'Joule'},
                {'first': 'James',
                 'last': 'Watt'},
                {'first': 'Christian',
                 'last': 'Doppler'}]
>>> valuelist = ['James', 'John']
>>> x = copyf(dictlist, 'first', valuelist)
>>> print(x)
[{'first': 'James',
  'last': 'Joule'},
 {'first': 'James',
  'last': 'Watt'}]

dictlist 实际上是一个 csv.DictReader 实例。

最佳答案

更新:考虑到 OP 的重新编辑问题:

def copyf(dictlist, key, valuelist):
      return [dictio for dictio in dictlist if dictio[key] in valuelist]

关于python - 如何过滤具有给定键匹配值的字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5762643/

相关文章:

python - 用 python 有效地解压 mono12packed 位串格式

python - xDjango 使用查询集内连接表

python - 从列表中删除子列表

c# - 在 C# 中根据空格拆分字符串

python - 使用条件子句合并列表内的列表

c# - 快速查找字典文本文件中是否存在单词

python - 表单输入框不显示

Python:查找与列表字典中的项目相对应的键

python - 排序包含列表的字典

python - 如何从古腾堡自动下载书籍