Computer >> Máy Tính >  >> Lập trình >> Python

Python - Các cách để loại bỏ các bản sao khỏi danh sách

Danh sách là một vùng chứa quan trọng và được sử dụng hầu hết trong mọi mã lập trình hàng ngày cũng như phát triển web, nó được sử dụng nhiều hơn, càng đòi hỏi phải nắm vững nó và do đó cần phải có kiến ​​thức về các hoạt động của nó. Loại bỏ các bản sao khỏi hoạt động danh sách có số lượng lớn các ứng dụng và do đó, kiến ​​thức về nó là tốt để có.

Ví dụ

# using naive methods
# initializing list
test_list = [1, 3, 5, 6, 3, 5, 6, 1]
print ("The original list is : " +  str(test_list))
# using naive method to remove duplicated from list
res = []
for i in test_list:
   if i not in res:
      res.append(i)
# printing list after removal
print ("The list after removing duplicates : " + str(res))
# using list comprehension
# initializing list
test_list = [1, 3, 5, 6, 3, 5, 6, 1]
print ("The original list is : " +  str(test_list))
# using list comprehension to remove duplicated from list
res = []
[res.append(x) for x in test_list if x not in res]
# printing list after removal
print ("The list after removing duplicates : " + str(res))
# using set()
# initializing list
test_list = [1, 5, 3, 6, 3, 5, 6, 1]
print ("The original list is : " +  str(test_list))
# using set() to remove duplicated from list
test_list = list(set(test_list))  
# printing list after removal
print ("The list after removing duplicates : " + str(test_list))
# using list comprehension + enumerate()
# initializing list
test_list = [1, 5, 3, 6, 3, 5, 6, 1]
print ("The original list is : " +  str(test_list))
# using list comprehension + enumerate() to remove duplicated from list
res = [i for n, i in enumerate(test_list) if i not in test_list[:n]]  
# printing list after removal
print ("The list after removing duplicates : " + str(res))
# using collections.OrderedDict.fromkeys()
from collections import OrderedDict
# initializing list
test_list = [1, 5, 3, 6, 3, 5, 6, 1]
print ("The original list is : " +  str(test_list))  
# using collections.OrderedDict.fromkeys() to remove duplicated from list
res = list(OrderedDict.fromkeys(test_list))  
# printing list after removal
print ("The list after removing duplicates : " + str(res))

Đầu ra

The original list is : [1, 3, 5, 6, 3, 5, 6, 1]
The list after removing duplicates : [1, 3, 5, 6]
The original list is : [1, 3, 5, 6, 3, 5, 6, 1]
The list after removing duplicates : [1, 3, 5, 6]
The original list is : [1, 5, 3, 6, 3, 5, 6, 1]
The list after removing duplicates : [1, 3, 5, 6]
The original list is : [1, 5, 3, 6, 3, 5, 6, 1]
The list after removing duplicates : [1, 5, 3, 6]
The original list is : [1, 5, 3, 6, 3, 5, 6, 1]
The list after removing duplicates : [1, 5, 3, 6]