亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從列表中刪除特定項目及其在 Python 中的所有重復項

從列表中刪除特定項目及其在 Python 中的所有重復項

翻閱古今 2023-03-22 17:15:00
我想從列表中刪除一個特定元素及其所有重復項(不刪除其他元素的重復項),我可以使用多個 for 循環手動完成,但請建議任何內置函數(如果存在)。l1 = [some elements with duplicates]for i in l1  count = count.l1(i)# Counted duplicates of i  #some stuff with count  ## here want to delete the element at the ith position with all its duplicates例如,我有一個列表 [2,3,4,6,2,4,3,2] # 這可能是未知的 我計算了 2 的重復項并刪除了 2 及其所有重復項 duplicate_count_of_i=3,一些東西,刪除具有所有重復項的元素已更新列表 [3,4,6,4,3] 謝謝您的寶貴時間,祝您有愉快的一天。
查看完整描述

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]


查看完整回答
反對 回復 2023-03-22
?
慕容森

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]


查看完整回答
反對 回復 2023-03-22
?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

使用Python 集來完成這項工作。它永遠不會在您的列表中使用任何重復的項目。然后你可以將它轉換為列表

代碼

l1 = ["apple", "banana", "apple"]

li2 = list(set(l1))


print(li2)


# >>> ['banana', 'apple']


查看完整回答
反對 回復 2023-03-22
  • 3 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號