如何去除掉列表裡多餘的相同元素

2021-08-22 02:26:54 字數 1294 閱讀 6619

題目詳情

今天在學習python裡集合時,老師提出了乙個問題,如何將列表裡的多餘的相同元素去掉,留下的列表每乙個元素都不相同,在不使用集合的相關知識前提下。

隨便給定乙個列表 l 如:

l =[1, 2, 2, 3, 4, 5, 6, 1, 5, 8, 4]
然後經過一系列的操作後,列表 l 的元素如下:

l =[1, 2, 3, 4, 5, 6, 8]
def

fun( l ):

l0 =

for i in l:

if i not

in l0:

l = l0

return l

#l = list( input('請給定乙個列表:') )

l = [1, 2, 2, 3, 4, 5, 6, 1, 5, 8, 4]

l = fun( l )

print( l )

運算結果:

>>> 

restart:c

:/users/lenovo/onedrive/python/去除多餘的相同元素.py

[1, 2, 3, 4, 5, 6, 8]

>>>

運算結果也是符合題目預設的條件,將多餘的相同元素給去掉了。

疑問

其實我原本是想定義乙個函式模組,當隨便輸入乙個要轉換的列表,將這個列表傳入函式的引數,不過我對使用者輸入的列表賦值操作不太熟悉,就如同上面**裡我注釋部分一樣,

本想使用這個方法傳入列表 l ,但是後來執行結果不對,所以在想應該是使用有錯誤,才會導致下面的結果:

>>> 

restart:c

:/users/lenovo/onedrive/python/去除多餘的相同元素.py

請給定乙個列表:[1, 2, 2, 3, 4, 5, 6, 1, 5, 8, 4]

['[', '1', ',', ' ', '2', ',', ' ', '2', ',', ' ', '3', ',', ' ', '4', ',', ' ', '5', ',', ' ', '6', ',', ' ', '1', ',', ' ', '5', ',', ' ', '8', ',', ' ', '4', ']']

>>>

希望可以通過後續的學習能解決這個問題,也歡迎各位有興趣的朋友能解答一下。

一點點小想法

刪除順序錶值相同的多餘元素

編寫演算法,在順序表l中,刪除所有值相等的多餘元素。函式介面定義 void delsame seqlist l l 指向順序表。裁判測試程式樣例 include define maxsize 20 struct seqlist typedef struct seqlist seqlist 型別定義 ...

刪除順序錶值相同的多餘元素

編寫演算法,在順序表l中,刪除所有值相等的多餘元素。函式介面定義 void delsame seqlist l l 指向順序表。裁判測試程式樣例 include define maxsize 20 struct seqlist typedef struct seqlist seqlist 型別定義 ...

刪除單鏈表中值相同的多餘元素

刪除單鏈表 有頭結點 中所有值相同的多餘元素,同時釋放被刪除的結點空間 思路 依次遍歷單鏈表中的全部結點,判斷該位置後邊有沒有重複的結點,如果有重複的結點,則刪除該結點並釋放空間 include include using namespace std const int flag 1 typedef...