当前位置:首页>开发>正文

Python如何对列表进行去重 求function - 在python 里怎么删除重复值

2023-04-17 02:14:43 互联网 未知 开发

 Python如何对列表进行去重 求function - 在python 里怎么删除重复值

Python如何对列表进行去重

1.使用set的特型,python的set和其他语言类似,是一个无序不重复元素集
orgList=[1,0,3,7,7,5]
#list()方法是把字符串str或元组转成数组
formatList=list(set(orgList))
print(formatList)
结果:
[0,1,3,5,7]                                                                                     
2.使用keys()方法
orgList=[1,0,3,7,7,5]
#list()方法是把字符串str或元组转成数组
formatList=list({}.fromkeys(orgList).keys())
print(formatList)
结果:
[0,1,3,5,7] 
上面两种方法的问题是:结果是没有保持原来的顺序。
3.循环遍历法
orgList=[1,0,3,7,7,5]
formatList=[]
foridinorgList:
ifidnotinformatList:
formatList.append(id)
print(formatList)
结果:
[1,0,3,7,5]
这样的代码不够简洁
4.按照索引再次排序
orgList=[1,0,3,7,7,5]
formatList=list(set(orgList))
formatList.sort(key=orgList.index)
print(formatList)
结果:
[1,0,3,7,5]

求function - 在python 里怎么删除重复值

不用set?给你个思路:
l = [["a", [9999,1, 2, 3, 0 ]], ["b", [5, 6, 3,9999,0]]]
temp = { }
for i in l:
temp[i]= try:
for j in l:
temp[i]= try:
for k in l:
temp[i]=print temp.keys().sort()
然后你再看看copy模块中的deepcopy是如何实现的,从而把那些try都去掉,就行了。

python3.6对字符串去重复的问题

你的算法基本已经是对的了。只是判断再改一下就行了。以下是修改的代码。
l1 = list(a)
l2 = []
for i in l1:
    if not i.upper() in l2 and not i.lower() in i2:
    l2.append(i)
l3 = .join(l2)这样就行了,多说一句,对于字符串,本身就是可以迭代的,所以l1=list(a)这句其实是多余的。修改的地方就是在于判断i的大小写是不是都不在数组里面,都不在就把i加到数组里面这样就行了。如果只是去重,两句话。seta=set(a)
l3=.join(seta)就行了。不明白可追问。