You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找Python列表中重复元素的索引并删除末尾重复项

查找列表中重复元素的非首次索引并删除末尾重复项

针对给定的列表 mylist = [1,2,3,4,5,6,7,8,9,10,1,2],可以按以下步骤操作:

1. 查找非首次出现的1和2的索引

利用列表的index()方法,指定从首次出现位置的下一位开始搜索,就能精准定位到重复元素的索引:

mylist = [1,2,3,4,5,6,7,8,9,10,1,2]

# 定位重复的1的索引
first_1_pos = mylist.index(1)
duplicate_1_pos = mylist.index(1, first_1_pos + 1)
print("重复元素1的索引:", duplicate_1_pos)  # 输出:10

# 定位重复的2的索引
first_2_pos = mylist.index(2)
duplicate_2_pos = mylist.index(2, first_2_pos + 1)
print("重复元素2的索引:", duplicate_2_pos)  # 输出:11

2. 删除末尾的重复元素

由于重复的2的索引比1大,删除时要先删索引大的元素,避免删除小索引后大索引的位置发生偏移:

# 先删除索引11的元素(重复的2)
del mylist[duplicate_2_pos]
# 再删除索引10的元素(重复的1)
del mylist[duplicate_1_pos]

print(mylist)  # 输出:[1,2,3,4,5,6,7,8,9,10]

快速处理方案(仅适用于重复项在列表末尾的场景)

如果已经明确重复的1和2在列表最后两位,可以直接用pop()方法连续删除两次末尾元素:

mylist = [1,2,3,4,5,6,7,8,9,10,1,2]
mylist.pop()
mylist.pop()

print(mylist)  # 同样得到目标列表:[1,2,3,4,5,6,7,8,9,10]

内容的提问来源于stack exchange,提问作者Apo1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:09:16