猿问

python删除list中的重复元素

##删除list中的重复元素1
def fun1(a):
	L=list(a)
	print(L)
	for i in range(0,len(L)):
		for j in range(i+1,len(L)):
			if L[i]==L[j]:
				L.pop(j)
	print(L)

fun1(input('please input a string:'))

有些字符串输入可以正常删除重复元素(例如asdcds),有些就会报错(例如kikihihi),想了很久不懂为什么,求解

Leo_clip
浏览 2012回答 1
1回答

产品经理不是经理

# 不要在循环过程中改变集合的长度,很容易出现下标的问题 # 解决方案1--->使用循环去重 def fun1(a):     L=list(a)     m=[]     print(L)     for i in L:         if i not in m:             m.append(i)     return m # 解决方案2 --->利用set集合的特性去重 def fun1(a):     L=list(a)     new_list = list(set(L))     new_list.sort(key=L.index)     return new_list
随时随地看视频慕课网APP

相关分类

Python
我要回答