gpt4 book ai didi

Python - 从字典列表中删除重复键

转载 作者:太空宇宙 更新时间:2023-11-04 07:35:27 24 4
gpt4 key购买 nike

我有一个 Python 字典列表:

[{u'value': u'firstname', u'key': u'Coach'}, 
{u'value': u'lastname', u'key': u'Coach'},
{u'value': u'age', u'key': u'Coach'},
{u'value': u'firstname', u'key': u'Player'},
{u'value': u'league', u'key': u'Player'}]

如何从字典列表中删除重复的 key 并将它们的值合并到列表中,如下所示:

l = [('Coach', ['firstname', 'lastname', 'age']), 
('Player', ['firstname', 'league'])]

遍历列表项

for k, v in l:
print k, v

最佳答案

你可以使用 defaultdictlist作为值类型以收集值:

In [5]: from collections import defaultdict

In [6]: data = [{u'value': u'firstname', u'key': u'Coach'},
{u'value': u'lastname', u'key': u'Coach'},
{u'value': u'age', u'key': u'Coach'},
{u'value': u'firstname', u'key': u'Player'},
{u'value': u'league', u'key': u'Player'}]

In [7]: l = defaultdict(list)

In [8]: for row in data:
...: l[row['key']].append(row['value'])
...:

In [9]: l
Out[9]:
defaultdict(list,
{'Coach': ['firstname', 'lastname', 'age'],
'Player': ['firstname', 'league']})

然后您可以使用 items 轻松地将字典转换为元组列表。方法:

In [10]: list(l.items())
Out[10]:
[('Coach', ['firstname', 'lastname', 'age']),
('Player', ['firstname', 'league'])]

关于Python - 从字典列表中删除重复键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37137812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com