Hướng dẫn how do i remove a repetition in python? - làm cách nào để xóa lặp lại trong python?


Tìm hiểu làm thế nào để loại bỏ các bản sao khỏi danh sách trong Python.


Thí dụ

Xóa bất kỳ bản sao nào khỏi danh sách:

mylist = ["a", "b", "a", "c", "c"] mylist = list (dict.fromKeys (mylist)) in (mylist)
mylist = list(dict.fromkeys(mylist))
print(mylist)

Hãy tự mình thử »

Ví dụ giải thích

Đầu tiên chúng tôi có một danh sách có chứa các bản sao:

Một danh sách với các bản sao

mylist = ["a", "b", "a", "c", "c"] mylist = list (dict.fromKeys (mylist)) in (mylist)
mylist = list(dict.fromkeys(mylist))
print(mylist)

Tạo một từ điển, sử dụng các mục danh sách làm khóa. Điều này sẽ tự động xóa bất kỳ bản sao nào vì từ điển không thể có các khóa trùng lặp.

Tạo một từ điển

mylist = ["a", "b", "a", "c", "c"] mylist = list (dict.fromKeys (mylist)) in (mylist)
mylist = list(dict.fromkeys(mylist))
print(mylist)

Hãy tự mình thử »

Ví dụ giải thích

Đầu tiên chúng tôi có một danh sách có chứa các bản sao:
mylist = list(dict.fromkeys(mylist))
print(mylist)

Một danh sách với các bản sao

mylist = ["a", "b", "a", "c", "c"] mylist = list (dict.fromKeys (mylist)) in (mylist)

Tạo một từ điển, sử dụng các mục danh sách làm khóa. Điều này sẽ tự động xóa bất kỳ bản sao nào vì từ điển không thể có các khóa trùng lặp.

Tạo một từ điển
mylist = list(dict.fromkeys(mylist))
print(mylist)



Sau đó, chuyển đổi từ điển trở lại thành một danh sách:

Chuyển đổi thành một danh sách

Thí dụ

mylist = ["a", "b", "a", "c", "c"] mylist = list (dict.fromKeys (mylist)) in (mylist)
  return list(dict.fromkeys(x))

Bây giờ chúng tôi có một danh sách mà không có bất kỳ bản sao nào, và nó có cùng thứ tự như danh sách ban đầu.

In danh sách để chứng minh kết quả

Hãy tự mình thử »

Ví dụ giải thích

Đầu tiên chúng tôi có một danh sách có chứa các bản sao:

Sau đó, chuyển đổi từ điển trở lại thành một danh sách:

Chuyển đổi thành một danh sách
  return list(dict.fromkeys(x))

Bây giờ chúng tôi có một danh sách mà không có bất kỳ bản sao nào, và nó có cùng thứ tự như danh sách ban đầu.

In danh sách để chứng minh kết quả

In danh sách

Tạo một từ điển

Chuyển đổi thành một danh sách
  return list(
dict.fromkeys(x))

Bây giờ chúng tôi có một danh sách mà không có bất kỳ bản sao nào, và nó có cùng thứ tự như danh sách ban đầu.

In danh sách để chứng minh kết quả

In danh sách

Ví dụ giải thích

Chuyển đổi thành một danh sách
  return
list(dict.fromkeys(x))

Bây giờ chúng tôi có một danh sách mà không có bất kỳ bản sao nào, và nó có cùng thứ tự như danh sách ban đầu.

In danh sách để chứng minh kết quả

In danh sách

mylist = ["a", "b", "a", "c", "c"] mylist = list (dict.fromKeys (mylist)) in (mylist)

Chuyển đổi thành một danh sách
 
return list(dict.fromkeys(x))

Bây giờ chúng tôi có một danh sách mà không có bất kỳ bản sao nào, và nó có cùng thứ tự như danh sách ban đầu.

In danh sách để chứng minh kết quả

In danh sách

mylist = ["a", "b", "a", "c", "c"] mylist = list (dict.fromKeys (mylist)) in (mylist)

Tạo một chức năng
  return list(dict.fromkeys(x))
mylist = my_function(["a", "b", "a", "c", "c"])print(mylist)

Nếu bạn muốn có một chức năng nơi bạn có thể gửi danh sách của mình và lấy lại chúng mà không cần sao chép, bạn có thể tạo một chức năng và chèn mã từ ví dụ trên.

def my_function (x): & nbsp; Danh sách trả lại (Dict.FromKeys (x))

Chuyển đổi thành một danh sách
  return list(dict.fromkeys(x))

mylist = ["a", "b", "a", "c", "c"] mylist = list (dict.fromKeys (mylist)) in (mylist)

print(mylist)



Liệt kê toàn diện khi được hợp nhất với chức năng liệt kê, chúng tôi có thể xóa bản sao khỏi danh sách Python. Về cơ bản trong phương pháp này, các yếu tố đã xảy ra đã được bỏ qua, và cũng là thứ tự được duy trì.

Phương pháp 5: Sử dụng Collection.ordereddict.fromKeys ()

Đây là phương pháp nhanh nhất để đạt được mục tiêu loại bỏ các bản sao khỏi danh sách Python. Phương pháp này trước tiên sẽ loại bỏ các bản sao và trả về một từ điển đã chuyển đổi thành một danh sách. Ngoài ra, phương pháp này hoạt động tốt trong trường hợp của một chuỗi.

Ví dụ:

# creating a list of items with different data types 
sample_list = [6,"mark",[A,I]] 
print(sample_list)

Output:

& nbsp; [6, Mark, ['A', 'I']]]]

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

Có nhiều cách để loại bỏ các bản sao khỏi danh sách trong Python. Hãy để nghiên cứu chúng dưới đây:

Phương pháp 1: Phương pháp ngây thơ

Trong phương pháp này, chúng tôi đi qua danh sách và sau đó nối thêm sự xuất hiện đầu tiên của phần tử trong danh sách mới, và sau đó tất cả các yếu tố khác bị bỏ qua.

Example:

# removing duplicated from the list using naive methods 

# initializing list 
sam_list = [11, 13, 15, 16, 13, 15, 16, 11] 
print ("The list is: " + str(sam_list)) 

# remove duplicated from list 
result = [] 
for i in sam_list: 
    if i not in result: 
        result.append(i) 

# printing list after removal 
print ("The list after removing duplicates : " + str(result)) 

Output:

& nbsp; danh sách là: [11, 13, 15, 16, 13, 15, 16, 11]

& nbsp; Danh sách sau khi xóa các bản sao: [11, 13, 15, 16]

Phương pháp 2: Sử dụng danh sách toàn diện

Phương pháp này tương tự như phương pháp trên, nhưng phương pháp này ngắn hơn phương pháp trên.

Example:

# removing duplicated from the list using list comprehension 

# initializing list 
sam_list = [11, 13, 15, 16, 13, 15, 16, 11] 
print ("The list is: " + str(sam_list)) 

 
# to remove duplicated from list 
result = [] 
[result.append(x) for x in sam_list if x not in result] 

# printing list after removal 
print ("The list after removing duplicates: " + str(result)) 

Output:

& nbsp; danh sách là: [11, 13, 15, 16, 13, 15, 16, 11]

& nbsp; Danh sách sau khi xóa các bản sao: [11, 13, 15, 16]

Phương pháp 2: Sử dụng danh sách toàn diện

Phương pháp này tương tự như phương pháp trên, nhưng phương pháp này ngắn hơn phương pháp trên.

Example:

# removing duplicated from the list using set() 

# initializing list 
sam_list = [11, 15, 13, 16, 13, 15, 16, 11] 
print ("The list is: " + str(sam_list)) 

# to remove duplicated from list 
sam_list = list(set(sam_list)) 

# printing list after removal 
# ordering distorted
print ("The list after removing duplicates: " + str(sam_list)) 

Output:

Phương pháp 3: Sử dụng Set ()

Phương pháp này là phương pháp phổ biến nhất để loại bỏ bản sao khỏi danh sách Python. Điều này là do cấu trúc dữ liệu đã đặt không cho phép trùng lặp. Nhưng nhược điểm của phương pháp này là thứ tự của các yếu tố bị mất.

& nbsp; danh sách là: [11, 15, 13, 16, 13, 15, 16, 11]

& nbsp; Danh sách sau khi xóa các bản sao: [16, 11, 13, 15]

Example:

# removing duplicated from the list using list comprehension + enumerate() 

# initializing list 
sam_list = [11, 15, 13, 16, 13, 15, 16, 11] 
print ("The list is: " + str(sam_list)) 

# to remove duplicated from list 
result = [i for n, i in enumerate(sam_list) if i not in sam_list[:n]] 

# printing list after removal 
print ("The list after removing duplicates: " + str(result)) 

Output:

& nbsp; danh sách là: [11, 13, 15, 16, 13, 15, 16, 11]

& nbsp; Danh sách sau khi xóa các bản sao: [11, 13, 15, 16]

Phương pháp 5: Sử dụng Collection.ordereddict.fromKeys ()

Đây là phương pháp nhanh nhất để đạt được mục tiêu loại bỏ các bản sao khỏi danh sách Python.Phương pháp này trước tiên sẽ loại bỏ các bản sao và trả về một từ điển đã chuyển đổi thành một danh sách.Ngoài ra, phương pháp này hoạt động tốt trong trường hợp của một chuỗi.

Example:

# removing duplicated from list using collections.OrderedDict.fromkeys() 
from collections import OrderedDict 

# initializing list 
sam_list = [11, 15, 13, 16, 13, 15, 16, 11] 
print ("The list is: " + str(sam_list)) 

# to remove duplicated from list 
result = list(OrderedDict.fromkeys(sam_list)) 

# printing list after removal 
print ("The list after removing duplicates: " + str(result)) 

Output:

& nbsp; danh sách là: [11, 15, 13, 16, 13, 15, 16, 11]

& nbsp; Danh sách sau khi xóa các bản sao: [11, 15, 13, 16]

Đây là một vài trong số các phương pháp mà chúng ta có thể xóa bản sao khỏi danh sách Python.

Sự kết luận

Do đó, trong bài viết này, chúng tôi đã tìm hiểu về danh sách Python và các phương pháp khác nhau để loại bỏ các yếu tố trùng lặp khỏi danh sách trong Python.Ngoài ra, chúng tôi đã nghiên cứu ví dụ cùng với đầu ra cho các phương pháp khác nhau.