如何编写理解来提取 key='a' 的所有值?
alist=[{'a':'1a', 'b':'1b'},{'a':'2a','b':'2b'}, {'a':'3a','b':'3b'}]
下面的工作,但我只是黑客,直到我得到我想要的。不是很好的学习方式。[alist['a'] for alist in alist if 'a' in alist]
在理解中我一直在尝试使用 if key='a' in alist else 'No data'
最佳答案
[elem['a'] for elem in alist if 'a' in elem]
可能是表达上述内容的更清晰方式。
“for elem in alist”部分将遍历 alist,允许它查看 alist 中的每个字典。
然后,“if 'a' in elem”将确保在查找发生之前键 'a' 在字典中,这样您就不会因尝试查找不存在于字典中的元素而得到 KeyError词典。
最后,使用 elem['a'] 为您提供每个字典中键为 'a' 的值。然后,整个语句将给出每个字典中键为“a”的值列表。
希望这能让它更清楚一点。
关于python - 使用对特定键值的理解从字典列表中创建一个列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17561695/