gpt4 book ai didi

Python从字典中删除 'duplicate'元组

转载 作者:行者123 更新时间:2023-12-01 08:54:55 24 4
gpt4 key购买 nike

我有一本以元组为键的字典。所有这些元组都有两个值,我将使用字母作为值以使事情简单,例如元组 (a, b)。

两个值的顺序并不重要,这意味着 (a, b) 本质上与 (b, a) 相同(或有点重复)。所以我试图写一些东西来删除所有这些冗余的键、值对,但它不起作用,而且我严重坚持它。我确信这只是我忽略的一些简单的事情,尽管我无法弄清楚。

我认为这会起作用:

def undupe_overlaps(overlaps):
dupes = []
for key, item in overlaps.items():
if (key[1], key[0]) in overlaps:
dupes.append((key[1], key[0]))
for item in dupes:
overlaps.pop(item)
return overlaps

overlaps 是字典,我使用列表欺骗,因为你不能从字典中删除内容并同时循环它。任何帮助或提示将不胜感激:)

最佳答案

您的 if 语句是错误的。应该是:

if (key[1], key[0]) not in dupes:
dupes.append(key)

基本上,您要求当前键(元素反转)尚未出现在 dupes 列表中。

您的代码不起作用,因为您正在查看重叠,并在存在反向 key 时插入当前 key 。这样,“单个”键(即那些没有对应键的键)永远不会插入到dupers中。

关于Python从字典中删除 'duplicate'元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52841889/

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