3 回答

TA貢獻1809條經驗 獲得超8個贊
如果您只想要獨特的元素,請使用集合:
l1 = [some elements with duplicates] # [1, 2, 3, 1, 2]
l1 = list(set(l1)) # [1, 2, 3]
但是如果你想完全刪除重復的元素,你可以這樣做
l1 = [some elements with duplicates] # [1, 2, 3, 1, 2]
l1 = [elt for elt in l1 if l1.count(elt) == 1] # [3]

TA貢獻1853條經驗 獲得超18個贊
我無法完全理解“列表中的特定項目及其所有副本”是什么意思。
i) 你是指該項目的所有出現 ii) 還是該項目的所有重復項
對于案例 1:
您可以使用 while 循環從列表中刪除元素的所有實例。
>>> l1 = [1,2,3,3,4,4,5,5,5,6,6]
>>> element_to_remove = 5
>>>
>>> while element_to_remove in l1:
... l1.remove(element_to_remove)
>>> l1
[1,2,3,3,4,4,6,6]
對于案例 2:
>>> l1 = [1,2,3,3,4,4,5,5,5,6,6]
>>> element_to_remove = 5
>>>
>>> while l1.count(element_to_remove) > 1: #removing all the duplicates
... l1.remove(element_to_remove)
>>> l1
[1,2,3,3,4,4,5,6,6]

TA貢獻1757條經驗 獲得超8個贊
使用Python 集來完成這項工作。它永遠不會在您的列表中使用任何重復的項目。然后你可以將它轉換為列表
代碼
l1 = ["apple", "banana", "apple"]
li2 = list(set(l1))
print(li2)
# >>> ['banana', 'apple']
添加回答
舉報