当前位置: 首页 > 面试题库 >

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

邢炯
2023-03-14
问题内容

与一样的界面a = copyf(dictlist, key, valuelist)

>>> 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]


 类似资料:
  • 问题内容: 我有一个字典列表和每个字典的key(比方说)“型”,这可以有值,等我的目标是过滤掉这些字典到同一个字典列表,但只有一个的那些某些“类型”。我想我真的很在理解问题。 因此,示例列表如下所示: 我有一个键值列表。举例来说: 预期的结果列表如下所示: 我知道我可以用一组for循环来做到这一点。我知道必须有一个更简单的方法。我发现此问题有很多不同的风格,但没有一个完全符合要求并回答了这个问题。

  • 我有一个有4个不同数字的列表,总共10个数字。对于这些数字中的每一个,我想分配一个颜色/单词。因此,问题是,我如何从一个数字列表变成一个颜色列表,其中每个相同的数字都由相同的颜色/单词表示? 初步名单: 预期产出: 我尝试了什么? 我从我的_列表中提取了唯一编号: 现在,我需要从颜色列表中为这4个唯一的数字中的每一个分配一种颜色[‘红色’、‘蓝色’、‘绿色’、‘黑色’、‘黄色’、‘紫色’],然后用

  • 问题内容: 我有一个字典列表: 如何通过匹配name =’Tom’来有效地找到索引位置[0],[1]或[2]? 如果这是一维列表,则可以执行list.index(),但是我不确定如何通过搜索列表中dict的值来进行操作。 问题答案: 如果需要从名称重复获取,则应按名称对它们进行索引(使用字典),这样 get 操作的时间为O(1)。一个想法:

  • 我对SQL并不陌生,但我对Hibernate完全陌生。我预计,给定一个列值,从表中选择一组对象将是一项非常简单的任务。但我做不到。 我的导师和下面的这个问题都建议了同样的事情,这让我写了下面的代码: JPA:如何基于除ID之外的字段值获取实体? 这是可行的,但方法是已被弃用。由于我对hibernate还不熟悉,我不妨按照它的预期工作方式来学习它,所以我不想使用不推荐的方法。 官方的Hibernat

  • 问题内容: 我有一个字典列表,它们在列表中都具有相同的结构。例如: 我想从列表中的每个字典中获取每个项目: 我当然可以遍历列表并使用for循环提取每个值: 但是我的数据集很大。我想知道是否有更快的方法。 问题答案: 如果只需要迭代一次值,请使用生成器表达式: 另一个(深奥的)选项可能与-一起使用-它可能会比生成器表达式快一点,或者不快一点,具体取决于情况: 而且,如果您绝对需要一个列表,则列表理解