首页 > 解决方案 > 如何获取字典列表中特定键的一组唯一值?

问题描述

我正在使用 Python 3.8。如果我想为字典数组获取一组唯一的值,我可以执行以下操作

>>> lis = [{"a": 1, "b": 2}, {"a": 3, "b": 4}]
>>> s = set( val for dic in lis for val in dic.values())
>>> s
{1, 2, 3, 4}

但是,如果我只想要字典键“a”的一组唯一值,我将如何改进上述内容?在上面,答案将是

{1, 3}

我假设数组中的每个字典都有相同的键集。

标签: pythonpython-3.xdictionarysetunique-values

解决方案


你可以简单地做:

lis = [{"a": 1, "b": 2}, {"a": 3, "b": 4}]
# assuming the variable key points to what you want
key = 'a'
a_values = set(dictionary[key] for dictionary in lis)

我希望我已经理解你在寻找什么。谢谢。


推荐阅读