gpt4 book ai didi

python - 从 Python 字典中的项目中删除重复值

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:41 27 4
gpt4 key购买 nike

如何检查并删除字典中项目的重复值?我有一个很大的数据集,所以我正在寻找一种有效的方法。以下是字典中包含重复项的值的示例:

'word': [('769817', [6]), ('769819', [4, 10]), ('769819', [4, 10])]

需要成为

'word': [('769817', [6]), ('769819', [4, 10])]

最佳答案

这个问题本质上归结为从不可散列类型列表中删除重复项,而无法将其转换为集合。

一种可能的方法是在构建新列表值时检查当前值的成员资格。

d = {'word': [('769817', [6]), ('769819', [4, 10]), ('769819', [4, 10])]}
for k, v in d.items():
new_list = []
for item in v:
if item not in new_list:
new_list.append(item)
d[k] = new_list

或者,使用 groupby()以获得更简洁的答案,尽管可能较慢(必须首先对列表进行排序,如果是的话,那么它比执行成员资格检查更快)。

import itertools

d = {'word': [('769817', [6]), ('769819', [4, 10]), ('769819', [4, 10])]}
for k, v in d.items():
v.sort()
d[k] = [item for item, _ in itertools.groupby(v)]

输出 -> {'word': [('769817', [6]), ('769819', [4, 10])]}

关于python - 从 Python 字典中的项目中删除重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39496440/

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