刪除清單中的重複項
在Python 中,檢查清單中的重複項並傳回沒有重複項的新清單是一項常見任務。有多種方法可以實現此目的。
使用集合
集合是不同物件的無序集合。它們提供了一種刪除重複項的有效方法。要從列表建立集合,只需將其傳遞給 set() 函數即可。若要將其轉換回列表,請使用 list() 函數。但是,此方法不會保留元素的原始順序。
t = [1, 2, 3, 1, 2, 3, 5, 6, 7, 8] list(set(t)) # [1, 2, 3, 5, 6, 7, 8]
維護順序
如果保留原始順序至關重要,則 collections.OrderedDict可以使用模組。 OrderedDict 維護專案的插入順序。將列表轉換為 OrderedDict,然後返回列表以保留順序。
from collections import OrderedDict list(OrderedDict.fromkeys(t)) # [1, 2, 3, 5, 6, 7, 8]
在 Python 3.7 中使用字典
在 Python 3.7 及更高版本中,常規字典也保持插入順序。因此,您可以使用以下方法:
list(dict.fromkeys(t)) # [1, 2, 3, 5, 6, 7, 8]
注意事項
請注意,所有這些方法都要求清單中的項目是可散列的(即不可變的) 。如果項目不可散列(例如清單),則需要採用涉及嵌套循環比較的較慢方法。
以上是如何在保持順序的同時有效地從 Python 清單中刪除重複項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!