如何使用Python筛选基于键值的字典列表?

2026-06-11 04:561阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计427个文字,预计阅读时间需要2分钟。

如何使用Python筛选基于键值的字典列表?

我有一份字典序列,每个字典都有一个名为'type'的键,它的值可以是如'type1'、'type2'等。我的目标是过滤出具有相同'type'值的字典列表,但只需要那些特定'类型'的。我想只通过努力解出答案。

我有一个字典列表,每个字典都有一个(比如说)’type’的键,它可以有’type1′,’type2’等值.我的目标是将这些字典过滤成相同字典的列表但只有某种“类型”的那些.我想我只是在努力解决列表/词典理解问题.

所以示例列表看起来像:

exampleSet = [{'type':'type1'},{'type':'type2'},{'type':'type2'}, {'type':'type3'}]

我有一个关键值列表.比方说:

keyValList = ['type2','type3']

预期结果列表的位置如下:

expectedResult = [{'type':'type2'},{'type':'type2'},{'type':'type3'}]

我知道我可以通过一组for循环来做到这一点.我知道必须有一个更简单的方法.我发现这个问题有很多不同的风格,但没有一个真正适合这个问题,并回答了这个问题.我会尝试答案……但他们并没有那么令人印象深刻.可能最好让它开放结束.任何援助将不胜感激.

你可以尝试列表comp

如何使用Python筛选基于键值的字典列表?

>>> exampleSet = [{'type':'type1'},{'type':'type2'},{'type':'type2'}, {'type':'type3'}] >>> keyValList = ['type2','type3'] >>> expectedResult = [d for d in exampleSet if d['type'] in keyValList] >>> expectedResult [{'type': 'type2'}, {'type': 'type2'}, {'type': 'type3'}]

另一种方法是使用filter

>>> list(filter(lambda d: d['type'] in keyValList, exampleSet)) [{'type': 'type2'}, {'type': 'type2'}, {'type': 'type3'}]

本文共计427个文字,预计阅读时间需要2分钟。

如何使用Python筛选基于键值的字典列表?

我有一份字典序列,每个字典都有一个名为'type'的键,它的值可以是如'type1'、'type2'等。我的目标是过滤出具有相同'type'值的字典列表,但只需要那些特定'类型'的。我想只通过努力解出答案。

我有一个字典列表,每个字典都有一个(比如说)’type’的键,它可以有’type1′,’type2’等值.我的目标是将这些字典过滤成相同字典的列表但只有某种“类型”的那些.我想我只是在努力解决列表/词典理解问题.

所以示例列表看起来像:

exampleSet = [{'type':'type1'},{'type':'type2'},{'type':'type2'}, {'type':'type3'}]

我有一个关键值列表.比方说:

keyValList = ['type2','type3']

预期结果列表的位置如下:

expectedResult = [{'type':'type2'},{'type':'type2'},{'type':'type3'}]

我知道我可以通过一组for循环来做到这一点.我知道必须有一个更简单的方法.我发现这个问题有很多不同的风格,但没有一个真正适合这个问题,并回答了这个问题.我会尝试答案……但他们并没有那么令人印象深刻.可能最好让它开放结束.任何援助将不胜感激.

你可以尝试列表comp

如何使用Python筛选基于键值的字典列表?

>>> exampleSet = [{'type':'type1'},{'type':'type2'},{'type':'type2'}, {'type':'type3'}] >>> keyValList = ['type2','type3'] >>> expectedResult = [d for d in exampleSet if d['type'] in keyValList] >>> expectedResult [{'type': 'type2'}, {'type': 'type2'}, {'type': 'type3'}]

另一种方法是使用filter

>>> list(filter(lambda d: d['type'] in keyValList, exampleSet)) [{'type': 'type2'}, {'type': 'type2'}, {'type': 'type3'}]