##刪除list中的重復(fù)元素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:'))有些字符串輸入可以正常刪除重復(fù)元素(例如asdcds),有些就會報錯(例如kikihihi),想了很久不懂為什么,求解
1 回答
已采納

產(chǎn)品經(jīng)理不是經(jīng)理
TA貢獻481條經(jīng)驗 獲得超143個贊
#?不要在循環(huán)過程中改變集合的長度,很容易出現(xiàn)下標的問題 #?解決方案1--->使用循環(huán)去重 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
添加回答
舉報
0/150
提交
取消