如何刪除佇列重複元素呢?簡單地說,我們有兩種實現的方法:
1.借助set函式先將列表轉化為集合:
a=[1,3,1,2,4,2,5,6]
print(list(set(a)))
這種方法有兩個侷限:第一,轉化後的list不再保持原有的順序(因為set和dict一樣是無序的);第二,如果列表中存在可變元素(list,dict,etc),那麼也不能借助set來實現:
a=[1,3,1,2,[4,2],5,[4,2],6,[2,4]]
print(set(a))
報錯:
typeerror: unhashable type: 'list
2.利用生成器:
a=[1,3,1,2,[4,2],5,[4,2],6,[2,4]]
def del_repeat(lst):
m=for i in lst:
if i not in m:
yield i
print(list(del_repeat(a)))
執行結果:
[1, 3, 2, [4, 2], 5, 6, [2, 4]]
既保留了原有順序,又解決了unhashable型別!
鍊錶刪除重複元素1,刪除重複元素2,
刪除排序鍊錶中的重複元素 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 思路 很簡單。先將兩個指標進行操作,start,end然後判斷end是否等於空即可 definition for s...
STL vector刪除重複元素
stl提供了很多實用的演算法,這裡主要講解sort和unique演算法。刪除重複元素,首先將vector排序。sort vecsrc.begin vecsrc.end 然後使用unique演算法。vecsrc.erase unique vecsrc.begin vecsrc.end vecsrc.e...
STL vector刪除重複元素
stl提供了很多實用的演算法,這裡主要講解sort和unique演算法。刪除重複元素,首先將vector排序。sort vecsrc.begin vecsrc.end 然後使用unique演算法。vecsrc.erase unique vecsrc.begin vecsrc.end vecsrc.e...