导航:首页 > 编程语言 > python中list去重复

python中list去重复

发布时间:2025-06-16 12:13:52

python删除list重复元素

在Python中主要有5种方式 。
1、使用set函数
set是定义集合的,无序,非重复
numList = [1,1,2,3,4,5,4]
print(list(set(numList)))
#[1, 2, 3, 4, 5]
2、先把list重新排序,然后从list的最后开始扫描
a = [1, 2, 4, 2, 4, 5,]
a.sort()
last = a[-1]
for i in range(len(a) - 2, -1, -1):
if last == a[i]:
del a[i]
else:
last = a[i]
print(a) #[1, 2, 4, 5]
3、使用字典函数
a=[1,2,4,2,4,]
b={}
b=b.fromkeys(a)
c=list(b.keys())
print(c) #[1, 2, 4]
4、append方式
def delList(L):
L1 = []
for i in L:
if i not in L1:
L1.append(i)
return L1
print(delList([1, 2, 2, 3, 3, 4, 5])) #[1, 2, 3, 4, 5]
5、count + remove方式
def delList(L):
for i in L:
if L.count(i) != 1:
for x in range((L.count(i) - 1)):
L.remove(i)
return L
print(delList([1, 2, 2, 3, 3, 4]))#[1, 2, 3, 4]

② Python 怎么除去list中的重复值以下是不正确的,结果是[1, 1, 2, 3, 4, 4, 5],为什么

需要执行两次une(a)才能去除
改了一下代码,自己跑一下下面的两端代码就应该知道为什么了,效果是一样的
>>>a=[1,1,1,1,2,3,3,3,4,4,4,4,5,5]
>>>def une(lst):
for i in lst:
print 'i=',i
print 'count('+str(i)+')='+str(lst.count(i))
if lst.count(i) > 1:
lst.remove(i)
print 'a=',a
print '-----------------------------------------'
>>>une(a)
>>>a=[1,1,1,1,2,3,3,3,4,4,4,4,5,5]
>>>def une(lst):
num = len(lst)
n=0
for n in range(num):
#print 'n=',n
i = lst[n]
print 'i=',i
print 'count('+str(i)+')='+str(lst.count(i))
if lst.count(i) > 1:
lst.remove(i)
print 'a=',a
print '-----------------------------------------'
>>>une(a)

怎么改une不用我教了吧

③ Python列表去重的六种方法

探索Python列表去重的六种高效策略</


方法一:利用set的独特性质</


Python内置的set数据结构具有无序且不允许重复元素的特性,我们可以巧妙地利用这个特性来去重。通过将列表转换为set,再转换回list,即可实现去重,尽管set会打乱原有顺序,但这是唯一可能丢失顺序的方法</


方法二:借助字典的键值对</


利用字典的fromkeys()函数,将列表中的元素作为键,可以自动去除重复,因为字典的键必须是唯一的。但同样,这种方法同样无法保持原有的元素顺序</


方法三:常规遍历操作</


通过遍历列表,将每个元素检查其在列表中是否首次出现,如果未出现则添加,这种方法保留了原始顺序。代码如下:


<pre>new_list = []
for item in old_list:
if item not in new_list:
new_list.append(item)</pre>

方法四:列表推导式</


列表推导式同样可以简洁地去重,同时保持元素顺序:new_list = [x for i, x in enumerate(old_list) if x not in new_list[:i]]</


方法五与六:sort与sorted函数</


如果对顺序要求不高,可以利用sort()或sorted()函数,它们会根据元素的默认排序规则去除重复,然后重新排序。但注意,这将改变列表的原始顺序。


总结</


在Python中,根据实际需求和对顺序的敏感程度,选择合适的方法去除列表中的重复项至关重要。每种方法都有其适用场景,务必根据具体问题灵活运用。

④ python中列表如何去重

可以利用set去重

代码如下:

#coding=utf-8

li=[1,2,3,4,2,1,3,0]#列表
li2=set(li)
print(li2)

⑤ python list找出一个元素的位置(重复元素怎么分别找出位置)

使用list的index方法可以找到list中第一次出现该元素的位置

>>>l=['a','b','c','c','d','c']
>>>find='b'
>>>l.index(find)
1

找出出现该元素的所有位置可以使用一个简单的表理解来实现

>>>find='c'
>>>[ifori,vinenumerate(l)ifv==find]
[2,3,5]
阅读全文

与python中list去重复相关的资料

热点内容
苹果8p相当于什么样的安卓手机 浏览:210
包容线指标源码有图显示 浏览:623
单片机蜂鸣器发声歌曲的代码 浏览:139
42岁程序员面试成功案例 浏览:24
为什么超凡先锋连接不上服务器 浏览:23
单片机c语言范例 浏览:360
sql如何连接远程数据库服务器 浏览:823
iosphp环境搭建 浏览:577
文件夹隐藏的东西在哪 浏览:188
用python写建党100周年 浏览:776
日本购物app怎么样 浏览:411
xcode设置编译线程 浏览:433
timemachinelinux 浏览:239
老板为什么裁掉35岁程序员 浏览:150
androidassets绝对路径 浏览:88
如何查看个税服务器端口 浏览:753
车辆解压个人办理收费多少 浏览:674
奥迪ea888压缩比 浏览:692
java上标 浏览:427
买了个腾讯云服务器怎么弄 浏览:188