python - 如何获取字典列表中特定键的一组唯一值?
问题描述
我正在使用 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}
我假设数组中的每个字典都有相同的键集。
解决方案
你可以简单地做:
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)
我希望我已经理解你在寻找什么。谢谢。