如何在python 3列表中指定要删除的重复值
我在Codefights上解决了一个编码问题,我几乎解决了它,但是,我的代码中出现了一个问题,我找不到解决问题的方法如何在python 3列表中指定要删除的重复值,python,python-3.x,python-3.6,Python,Python 3.x,Python 3.6,我在Codefights上解决了一个编码问题,我几乎解决了它,但是,我的代码中出现了一个问题,我找不到解决问题的方法 my_list = [1, 2, 3, 4, 3, 6] print(my_list.index(3)) 输出:2 print(my_list[4]) 输出:3 但是,问题是,当我试图删除位于索引4上的3时,Python会删除位于第2个索引上的3,我不希望发生这种情况。 例如: my_list.remove(my_list[4]) print(my_list) 输出:[1,
my_list = [1, 2, 3, 4, 3, 6]
print(my_list.index(3))
输出:2
print(my_list[4])
输出:3
但是,问题是,当我试图删除位于索引4上的3时,Python会删除位于第2个索引上的3,我不希望发生这种情况。
例如:
my_list.remove(my_list[4])
print(my_list)
输出:[1,2,4,3,6]
我希望得到如下输出:[1,2,3,4,6]
这不是我的实际代码,只是一个示例。如果可以,请帮助我。这实际上是预期的输出。您应该改用
del
del my_list[4]
它不起作用的原因是使用此行:
my_list.remove(my_list[4])
my_list.remove(3)
翻译成这行:
my_list.remove(my_list[4])
my_list.remove(3)
由于
my\u list[4]
返回3,然后将删除列表中第一个出现的3。转换为一个集合,所有重复的值都将被删除。my_set=集合(my_列表)的可能副本