“ TypeError:'int'对象不可下标”

时间:2020-05-10 14:09:41

标签: python-3.x

为什么尝试从列表中删除重复项时出现此错误?

“ TypeError:'int'对象不可下标”

尝试从列表中删除重复的值

numbers=[5,2,1,7,2,4]
numbers.sort()
i=0
for item in numbers:
    if i==len(numbers)-1:
    break
    elif item[i]==item[i+1]:
    numbers.remove(item)
i+=1

3 个答案:

答案 0 :(得分:1)

实际上,问题出在您的for loop上,而不是因为删除重复的数字。我建议您必须定义一个空列表,在其中使用循环逐个附加元素,并检查该元素是否已存在于列表中,然后不要附加。这是代码:

numbers=[5,2,1,7,2,4]
numbers.sort()
sorted_num=[]
i=0
for i in range(0,len(numbers)-1):
    if numbers[i] in sorted_num:
        continue
    else:
        sorted_num.append(numbers[i])
        i+=1
print (sorted_num)
#     elif item[i]==item[i+1]:
#         numbers.remove(item)
# i+=1

我只编辑了一段代码

答案 1 :(得分:0)

使用set查看更多here


numbers=[5,2,1,7,2,4]   

list(set(numbers))      
[1, 2, 4, 5, 7]


答案 2 :(得分:0)

使用字典:

numbers=[5,2,1,7,2,4,5,5,1]
numbers=list(dict.fromkeys(numbers))
print(numbers)