我正在尝试完成一个编码挑战,在这个挑战中,我必须删除一个列表中的元组的副本。
现在,.remove()方法似乎同时删除了我的(1,1)元组,而不是(2,2)元组。
def remove_duplicates(lis):
for i in range(len(lis)):
print(f"We are at i = {i}")
for j in range(i + 1, len(lis)):
print(f"j={j}")
print(f"This is lis[i] {lis[i]}")
print(f"This is lis[j] {lis[j]}")
if lis[i] == lis[j]:
to_remove = lis[j]
lis.reverse() # reversal is done to remove the last matching element
lis.remove(lis[j])
lis.reverse()
print(lis)
return lis
lis = [(1,1), (2,2), (3,3), (2,2), (1,1)]
remove_duplicates(lis) # should return [(1,1), (2,2), (3,3)]输出

发布于 2022-04-09 16:10:19
若要删除重复项,可以将列表转换为set并返回到list
def remove_duplicates(lis):
return list(set(lis))https://stackoverflow.com/questions/71809724
复制相似问题