我遍历一个字典列表,其中一个特定的映射到列表。
[{..'ccy'=['a','b']....},{...'ccy'=['c','d']....},{....'ccy'=['e']....}].
如何合并与' ccy'相对应的列表?键,循环遍历词典列表?
预期产出:
['a','b','c','d','e']
优选单线解决方案。
答案 0 :(得分:1)
您可以使用嵌套式理解:
lst = [{'ccy':['a','b']},{'ccy':['c','d']},{'ccy':['e']}]
r = [i for d in lst for i in d.get('ccy', [])]
print(r)
# ['a', 'b', 'c', 'd', 'e']
dict.get
方法确保在字典没有键'ccy'
的情况下返回空列表(由@tobias_k提供)
答案 1 :(得分:0)
你想迭代一堆东西,并“积累”答案吗?
这听起来像是总和, a Python built-in!
的工作some_dicts = [
{'ccy':['a','b']},
{'ccy':['c','d']},
{'ccy':['e']},
{'no ccy here!': ['fu']},
]
ccy = sum([d.get('ccy',[]) for d in some_dicts], [])
print(ccy)