Tìm hiểu cách sử dụng Python để xóa các bản sao khỏi danh sách, bao gồm cách duy trì thứ tự từ danh sách ban đầu, bằng cách sử dụng bảy phương pháp.

Bạn đang xem : xóa danh sách python trùng lặp

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để xóa các trùng lặp khỏi danh sách >. Biết cách làm việc với danh sách Python là một kỹ năng quan trọng đối với bất kỳ Pythonista nào. Khả năng loại bỏ các mục trùng lặp có thể rất hữu ích khi làm việc với dữ liệu mà việc biết tần suất của các mục là không quan trọng.

Bạn sẽ học cách xóa các bản sao khỏi danh sách Python trong khi duy trì thứ tự hoặc khi thứ tự không quan trọng. Bạn sẽ học cách thực hiện việc này bằng các phương pháp đơn giản, danh sách hiểu, bộ, từ điển, thư viện collection , numpy pandas .

Câu trả lời nhanh :

Trả lời nhanh - Xóa bản sao khỏi danh sách Python

Xóa các bản sao khỏi Python Danh sách Sử dụng Vòng lặp Đối với

Cách triển khai đơn giản nhất để xóa các bản sao khỏi danh sách Python là sử dụng phương thức vòng lặp for. Sử dụng phương pháp này liên quan đến việc lặp lại từng mục trong danh sách và xem liệu nó đã tồn tại trong danh sách khác chưa.

Hãy xem điều này trông như thế nào trong Python:

 # Xóa các bản sao khỏi danh sách Python bằng vòng lặp For

Dupated_list = [1,1,2,1,3,4,1,2,3,4]
decuplicated_list = list ()

cho mục trong danh sách trùng lặp:
    nếu mục không có trong danh sách trùng lặp:
        debuplicated_list.append (item)

in (danh_sách_có_đã_được_đã_hóa) 

Hãy khám phá những gì chúng tôi đã làm ở đây:

  1. Chúng tôi đã tạo một danh sách mới, trống để chứa các mục đã loại bỏ trùng lặp
  2. Chúng tôi lặp lại từng mục trong danh sách trùng lặp của mình và kiểm tra xem nó có tồn tại trong danh sách bị trùng lặp không
  3. Nếu không, chúng tôi đã thêm mục vào danh sách của mình. Nếu nó tồn tại, thì chúng tôi không làm gì cả

Trong phần tiếp theo, bạn sẽ học cách loại bỏ trùng lặp một danh sách bằng Python bằng cách sử dụng khả năng hiểu danh sách.

​​ Bạn muốn tìm hiểu thêm về vòng lặp for trong Python? Hãy xem hướng dẫn chuyên sâu của tôi đưa bạn từ người mới bắt đầu đến người dùng for-vòng nâng cao! Bạn muốn xem video thay thế? Xem hướng dẫn trên YouTube của tôi tại đây .

Xóa các trùng lặp từ danh sách Python bằng cách sử dụng tính năng hiểu danh sách

Tương tự như phương pháp sử dụng vòng lặp for, bạn cũng có thể sử dụng khả năng hiểu danh sách Python để loại bỏ trùng lặp danh sách. Quá trình liên quan ở đây hơi khác một chút so với quá trình hiểu danh sách thông thường, vì chúng tôi sẽ sử dụng khả năng hiểu nhiều hơn để lặp lại danh sách.

Hãy xem nó trông như thế nào:

 # Xóa bản sao khỏi danh sách Python bằng cách sử dụng tính năng hiểu danh sách

Dupated_list = [1,1,2,1,3,4,1,2,3,4]
decuplicated_list = list ()

[decuplicated_list.append (item) cho mục trong danh sách trùng lặp nếu mục không có trong danh sách trùng lặp]

in (danh_sách_có_đã_được_đã_hóa) 

Cách tiếp cận này hơi khó xử vì khả năng hiểu danh sách chỉ có một mình. Điều này có thể làm cho mã ít trực quan hơn để theo dõi, vì tính năng hiểu danh sách thường được sử dụng để tạo danh sách mới. Tuy nhiên, vì chúng tôi chỉ lặp lại danh sách và nối vào danh sách khác, nên không có danh sách mới nào được khởi tạo bằng cách sử dụng hiểu.

Trong phần tiếp theo, bạn sẽ học cách sử dụng từ điển Python để loại bỏ trùng lặp danh sách Python.

​​ Bạn muốn tìm hiểu thêm về cách hiểu danh sách Python? Hãy xem hướng dẫn chuyên sâu này bao gồm tất cả mọi thứ bạn cần biết, với các ví dụ thực tế. Nhiều người học bằng hình ảnh hơn, hãy xem hướng dẫn trên YouTube của tôi tại đây .

Sử dụng Từ điển Python để Xóa Các bản sao từ Danh sách

Kể từ Python 3.7, từ điển Python duy trì thứ tự ban đầu của các mục được chuyển vào chúng. Mặc dù phương pháp này sẽ hoạt động đối với các phiên bản trước Python 3.7, nhưng danh sách bị trùng lặp kết quả sẽ không duy trì thứ tự của danh sách ban đầu.

Lý do mà việc chuyển đổi một danh sách thành một từ điển hoạt động là các khóa từ điển phải là duy nhất. Một điều quan trọng cần lưu ý là từ điển Python yêu cầu các khóa của chúng phải có thể băm, nghĩa là chúng phải bất biến. nếu danh sách của bạn chứa các phần tử có thể thay đổi, thì phương pháp này sẽ không hoạt động.

Hãy xem cách chúng tôi có thể sử dụng từ điển Python để loại bỏ trùng lặp danh sách:

 # Xóa các bản sao khỏi danh sách Python bằng từ điển

Dupated_list = [1,1,2,1,3,4,1,2,3,4]

từ điển = dict.fromkeys (danh sách trùng lặp)
decuplicated_list = danh sách (từ điển)

in (danh sách đã xóa)

# Trả về: [1, 2, 3, 4] 

Hãy xem những gì chúng tôi đã làm ở đây:

  1. Chúng tôi đã tạo một từ điển bằng phương thức .fromkeys () , sử dụng các mục được chuyển vào nó để tạo từ điển với các khóa từ đối tượng
  2. Chúng tôi sau đó biến từ điển thành một danh sách bằng cách sử dụng hàm list () để tạo danh sách từ các khóa trong từ điển.

Trong phần tiếp theo, bạn sẽ học cách sử dụng các bộ Python để loại bỏ trùng lặp danh sách.

​​ Bạn cần kiểm tra xem khóa có tồn tại trong từ điển Python không? Kiểm tra xem hướng dẫn này , hướng dẫn bạn năm cách khác nhau để xem liệu khóa có tồn tại trong từ điển Python hay không, bao gồm cả cách trả về giá trị mặc định.

Sử dụng Bộ Python để Xóa Các bản sao từ Danh sách

Tập hợp là cấu trúc dữ liệu Python duy nhất được tạo bằng dấu ngoặc nhọn {} . Chúng chỉ chứa các mục duy nhất và không có thứ tự và không được lập chỉ mục.

Bởi vì các tập hợp Python là duy nhất, khi chúng tôi tạo một tập hợp dựa trên một đối tượng khác, chẳng hạn như danh sách, thì các mục trùng lặp sẽ bị xóa.

Những gì chúng tôi có thể làm trước tiên là chuyển đổi danh sách của mình thành một tập hợp, sau đó quay lại danh sách.

Hãy xem điều này trông như thế nào trong Python:

 # Xóa các bản sao khỏi danh sách Python bằng cách sử dụng set ()

Dupated_list = [1,1,2,1,3,4,1,2,3,4]
decuplicated_list = danh sách (set (danh sách trùng lặp))

in (danh sách đã xóa)

# Trả về: [1, 2, 3, 4] 

Những gì chúng tôi đã làm ở đây là:

  1. Chúng tôi đã chuyển danh sách ban đầu của mình vào hàm set () , hàm này đã tạo một tập hợp và xóa tất cả các mục trùng lặp,
  2. Sau đó, chúng tôi đã chuyển tập hợp đó vào < code> list () , để tạo một danh sách khác

Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng thư viện collection để xóa các bản sao khỏi danh sách Python.

​​ Bạn muốn tìm hiểu cách sử dụng hàm Python zip () để lặp qua hai danh sách? Hướng dẫn này cho bạn chính xác chức năng của hàm zip () và chỉ cho bạn một số cách sáng tạo để sử dụng hàm.

Xóa các Bản sao khỏi Danh sách Python Sử dụng Bộ sưu tập

Nếu bạn đang làm việc với phiên bản Python cũ hơn không hỗ trợ các từ điển có thứ tự (trước Python 3.6), bạn cũng có thể sử dụng thư viện collection để thực hiện một cách tiếp cận tương tự.

Chúng tôi sử dụng thư viện collection để tạo một từ điển có thứ tự và sau đó chuyển đổi nó trở lại một danh sách.

Hãy xem cách này hoạt động như thế nào:

 # Xóa các bản sao khỏi danh sách Python bằng cách sử dụng một bộ sưu tập
từ bộ sưu tập nhập OrderedDict

Dupated_list = [1,1,2,1,3,4,1,2,3,4]
debuplicated_list = list (OrderedDict.fromkeys (Duplicated_list))

in (danh sách đã xóa)

# Trả về: [1, 2, 3, 4] 

Trong phần tiếp theo, bạn sẽ học cách sử dụng numpy để xóa các bản sao khỏi danh sách.

​​Xem một số hướng dẫn Python khác về datagy, bao gồm hướng dẫn đầy đủ về tạo kiểu cho Gấu trúc tổng quan toàn diện của chúng tôi về Pivot Table in Pandas !

Sử dụng Numpy để Xóa các Bản sao từ Danh sách Python

Thư viện Python phổ biến numpy có một đối tượng giống như danh sách được gọi là các mảng . Điều tuyệt vời về các mảng này là chúng có một số phương pháp hữu ích được tích hợp sẵn.

Một trong những hàm này là hàm unique () , hàm này tìm các mục duy nhất trong một mảng.

Hãy xem cách chúng tôi có thể sử dụng numpy để xóa các bản sao khỏi danh sách Python.

 # Xóa các bản trùng lặp khỏi danh sách Python bằng cách sử dụng một mảng numpy
nhập numpy dưới dạng np

Dupated_list = [1,1,2,1,3,4,1,2,3,4]
decuplicated_list = np.unique (np.array (danh sách trùng lặp)). tolist ()

in (danh sách đã xóa)

# Trả về: [1, 2, 3, 4] 

Tại đây, trước tiên, chúng ta tạo một mảng từ danh sách của mình, chuyển nó vào hàm unique () . Cuối cùng, chúng tôi sử dụng phương thức .tolist () để tạo danh sách ngoài mảng.

Trong phần cuối cùng, bạn sẽ học cách sử dụng Pandas để loại bỏ trùng lặp danh sách Python.

​​ Bạn muốn tìm hiểu thêm về cách tính căn bậc hai trong Python? Hãy xem hướng dẫn của tôi tại đây , sẽ hướng dẫn bạn các cách tính căn bậc hai khác nhau, cả khi không có hàm Python và với sự trợ giúp của hàm.

Sử dụng Pandas để Xóa các Bản sao từ Danh sách Python

Trong phần cuối cùng này, bạn sẽ học cách sử dụng thư viện pandas phổ biến để loại bỏ trùng lặp danh sách Python.

Pandas sử dụng một mảng không có hạt và tạo một đối tượng Pandas series . Các đối tượng này cũng tương tự như danh sách Python, nhưng được mở rộng bởi một số hàm và phương thức có thể áp dụng cho chúng.

Hãy xem cách chúng ta có thể thực hiện việc này bằng Python và Pandas:

 # Xóa bản sao khỏi danh sách Python bằng Pandas
nhập gấu trúc dưới dạng pd

Dupated_list = [1,1,2,1,3,4,1,2,3,4]
decuplicated_list = pd.Series (danh sách trùng lặp) .unique (). tolist ()

in (danh sách đã xóa)

# Trả về: [1, 2, 3, 4] 

Trong phần này, trước tiên chúng tôi tạo một đối tượng pd.Series () , sau đó áp dụng phương thức .unique () và cuối cùng sử dụng .tolist ( ) để trả về một danh sách.

​​ Bạn cần tự động đổi tên tệp? Xem hướng dẫn chuyên sâu này về cách sử dụng pathlib để đổi tên tệp. Không chỉ là người học trực quan, toàn bộ hướng dẫn cũng có sẵn dưới dạng video trong bài đăng!

Kết luận

Trong hướng dẫn này, bạn đã học một số cách khác nhau để xóa các bản sao khỏi danh sách Python. Bạn đã học được một số phương pháp đơn giản để thực hiện việc này, bao gồm sử dụng vòng lặp for và hiểu danh sách. Bạn cũng đã học cách sử dụng bộ và từ điển để loại bỏ các bản sao, cũng như sử dụng các thư viện khác, chẳng hạn như collection , numpy pandas để làm cái này.

Để tìm hiểu thêm về thư viện collection , hãy xem tài liệu chính thức tại đây .


Xem thêm những thông tin liên quan đến chủ đề xóa danh sách python trùng lặp

Python – Adding & Removing Items from Lists Tutorial

alt

  • Tác giả: Geek Tutorials
  • Ngày đăng: 2020-01-09
  • Đánh giá: 4 ⭐ ( 4475 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Learn how to add and remove items from a list in Python.

    ⭐ Kite is a free AI-powered coding assistant that will help you code faster and smarter. The Kite plugin integrates with all the top editors and IDEs to give you smart completions and documentation while you’re typing. I’ve been using Kite for 6 months and I love it! https://www.kite.com/get-kite/?utm_medium=referral&utm_source=youtube&utm_campaign=geektutorials&utm_content=description-only

    ~ CODE ~

    ADDING ITEMS TO LIST
    shopping_list = [“apples”, “bananas”, “carrots”, “potatoes”]

    item = input(“What item would you like to add to the shopping list: “)
    shopping_list.append(item)

    print(shopping_list)

    REMOVING ITEMS FROM LIST
    shopping_list = [“apples”, “bananas”, “carrots”, “potatoes”]

    item = input(“What item would you like to remove from the shopping list: “)
    shopping_list.remove(item)

    print(shopping_list)

Xóa phần tử trùng nhau trong list python

  • Tác giả: laptrinhcanban.com
  • Đánh giá: 5 ⭐ ( 3750 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn tất cả các cách xóa phần tử trùng nhau trong list python. Bạn sẽ học được cách xóa phần tử trong list python trong trường hợp không cần hoặc là muốn giữ nguyên thứ tự list ban đầu bằng hàm s

Lỗi trùng lặp danh bạ và không xoá được

  • Tác giả: vsfan.vn
  • Đánh giá: 4 ⭐ ( 1403 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mọi người giúp vs ạ. Bâyh dạnh bạ của e rối tung hết cả lên. Trùng số rồi có mấy số 11 số nữa. Đã thế xoá đi rồi vài ngày nó lại xuất hiện trở lại.

Xóa dict trùng lặp trong danh sách trong Python

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 5493 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Thử cái này: [dict(t) for t in {tuple(d.items()) for d in l}] Chiến lược là chuyển…

Viết hàm xóa các ký tự trùng lặp trong chuỗi. (Tham số truyền vào là chuỗi s).

  • Tác giả: howkteam.vn
  • Đánh giá: 5 ⭐ ( 2471 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Viết hàm xóa các ký tự trùng lặp trong chuỗi. Với tham số truyền vào là chuỗi s.

Kiểu dữ liệu Danh sách – List trong Python

  • Tác giả: www.codehub.com.vn
  • Đánh giá: 5 ⭐ ( 2295 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Có 4 loại cấu trúc dữ liệu trong ngôn ngữ lập trình Python:

    – **List** là dãy mà có khả năng lưu giữ các kiểu dữ liệu khác nhau và có thể thay đổi. Cho phép thành viên trùng lặp.
    – **Tup…

Chương trình xóa các mục trùng lặp trong danh sách bằng Python

  • Tác giả: vn.wsxdn.com
  • Đánh giá: 4 ⭐ ( 5185 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Phông chữ HTML5: Thêm phông chữ vào trang web của bạn - cách thêm phông chữ vào html

By ads_php