Làm thế nào để bạn kiểm tra các số trùng lặp trong python?

Trong hướng dẫn này, bạn sẽ học cách tìm và làm việc với các bản sao trong danh sách Python. Có thể làm việc hiệu quả với các danh sách Python là một kỹ năng quan trọng, do danh sách được sử dụng rộng rãi như thế nào. Bởi vì danh sách Python cho phép chúng tôi lưu trữ các giá trị trùng lặp, có thể xác định, loại bỏ và hiểu các giá trị trùng lặp là một kỹ năng hữu ích để thành thạo

Đến cuối hướng dẫn này, bạn sẽ học được cách

  • Tìm các bản sao trong danh sách, cũng như cách đếm chúng
  • Xóa các bản sao trong danh sách Python
  • Tìm trùng lặp trong danh sách từ điển và danh sách

Bắt đầu nào

Mục lục

  • Cách tìm các bản sao trong danh sách bằng Python
  • Cách tìm các bản sao trong danh sách và đếm chúng trong Python
  • Cách xóa các bản sao khỏi danh sách trong Python
  • Cách xóa các bản sao trong danh sách từ điển bằng Python
  • Cách xóa các bản sao trong danh sách danh sách bằng Python
  • Sự kết luận
  • Tài nguyên bổ sung

Cách tìm các bản sao trong danh sách bằng Python

Hãy bắt đầu hướng dẫn này bằng cách trình bày cách tìm các bản sao trong danh sách bằng Python. Chúng ta có thể làm điều này bằng cách sử dụng cả hàm set[] và phương thức list.count[]

Phương thức .count[] nhận một đối số duy nhất, mục bạn muốn đếm và trả về số lần mục đó xuất hiện trong danh sách. Vì điều này, chúng tôi có thể tạo cách hiểu danh sách chỉ trả về các mục tồn tại nhiều lần. Hãy xem cách nó hoạt động và sau đó chia nhỏ nó ra một chút

# Finding Duplicate Items in a Python List
numbers = [1, 2, 3, 2, 5, 3, 3, 5, 6, 3, 4, 5, 7]

duplicates = [number for number in numbers if numbers.count[number] > 1]
unique_duplicates = list[set[duplicates]]

print[unique_duplicates]

# Returns: [2, 3, 5]

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

  1. Chúng tôi đã sử dụng cách hiểu danh sách để bao gồm bất kỳ mục nào tồn tại nhiều lần trong danh sách
  2. Sau đó, chúng tôi đã chuyển đổi tập hợp này thành tập hợp để loại bỏ bất kỳ mục trùng lặp nào khỏi danh sách đã lọc
  3. Cuối cùng, chúng tôi đã chuyển tập hợp trở lại danh sách

Trong phần tiếp theo, bạn sẽ tìm hiểu cách tìm các mục trùng lặp trong danh sách Python và đếm tần suất xuất hiện của chúng

Cách tìm các bản sao trong danh sách và đếm chúng trong Python

Trong phần này, bạn sẽ học cách đếm các mục trùng lặp trong danh sách Python. Điều này cho phép bạn biến một danh sách các mục thành một từ điển trong đó khóa là mục danh sách và giá trị tương ứng là số lần mục đó được sao chép

Để thực hiện điều này, chúng tôi sẽ sử dụng lớp

# Finding Duplicate Items in a Python List and Count Them
from collections import Counter
numbers = [1, 2, 3, 2, 5, 3, 3, 5, 6, 3, 4, 5, 7]

counts = dict[Counter[numbers]]
duplicates = {key:value for key, value in counts.items[] if value > 1}
print[duplicates]

# Returns: {2: 2, 3: 4, 5: 3}
0 từ mô-đun bộ sưu tập. Sau đó, chúng tôi sẽ lọc từ điển kết quả của mình bằng cách hiểu từ điển. Hãy xem mã và sau đó chúng tôi sẽ chia nhỏ các bước theo từng dòng

# Finding Duplicate Items in a Python List and Count Them
from collections import Counter
numbers = [1, 2, 3, 2, 5, 3, 3, 5, 6, 3, 4, 5, 7]

counts = dict[Counter[numbers]]
duplicates = {key:value for key, value in counts.items[] if value > 1}
print[duplicates]

# Returns: {2: 2, 3: 4, 5: 3}

Hãy chia nhỏ mã này, vì nó phức tạp hơn một chút

  1. Chúng tôi nhập lớp
    # Finding Duplicate Items in a Python List and Count Them
    from collections import Counter
    numbers = [1, 2, 3, 2, 5, 3, 3, 5, 6, 3, 4, 5, 7]
    
    counts = dict[Counter[numbers]]
    duplicates = {key:value for key, value in counts.items[] if value > 1}
    print[duplicates]
    
    # Returns: {2: 2, 3: 4, 5: 3}
    0 từ thư viện bộ sưu tập
  2. Chúng tôi tải danh sách của chúng tôi về
    # Finding Duplicate Items in a Python List and Count Them
    from collections import Counter
    numbers = [1, 2, 3, 2, 5, 3, 3, 5, 6, 3, 4, 5, 7]
    
    counts = dict[Counter[numbers]]
    duplicates = {key:value for key, value in counts.items[] if value > 1}
    print[duplicates]
    
    # Returns: {2: 2, 3: 4, 5: 3}
    0
  3. Sau đó, chúng tôi tạo một đối tượng Bộ đếm trong danh sách của mình và chuyển đổi nó thành từ điển
  4. Sau đó, chúng tôi lọc từ điển của mình để xóa bất kỳ khóa nào. cặp giá trị trong đó khóa chỉ tồn tại một lần

Trong phần tiếp theo, bạn sẽ tìm hiểu cách xóa các mục trùng lặp khỏi danh sách Python

Cách xóa các bản sao khỏi danh sách trong Python

Loại bỏ các bản sao trong danh sách Python được thực hiện dễ dàng bằng cách sử dụng hàm set[]. Vì các bộ trong Python không thể có các mục trùng lặp, nên khi chúng tôi chuyển đổi một danh sách thành một bộ, nó sẽ loại bỏ mọi mục trùng lặp trong danh sách đó. Sau đó, chúng ta có thể biến tập hợp trở lại thành danh sách, sử dụng hàm

# Finding Duplicate Items in a Python List and Count Them
from collections import Counter
numbers = [1, 2, 3, 2, 5, 3, 3, 5, 6, 3, 4, 5, 7]

counts = dict[Counter[numbers]]
duplicates = {key:value for key, value in counts.items[] if value > 1}
print[duplicates]

# Returns: {2: 2, 3: 4, 5: 3}
2

Hãy xem cách chúng ta có thể làm điều này trong Python

# Remove Duplicates from a List in Python
from collections import Counter
numbers = [1, 2, 3, 2, 5, 3, 3, 5, 6, 3, 4, 5, 7]
unique = list[set[numbers]]
print[unique]

# Returns: [1, 2, 3, 4, 5, 6, 7]

Để tìm hiểu về các cách khác mà bạn có thể xóa các bản sao khỏi danh sách trong Python, hãy xem hướng dẫn này bao gồm nhiều cách khác nhau để thực hiện việc này. Trong phần tiếp theo, bạn sẽ học cách tìm các từ trùng lặp trong danh sách từ điển

Cách xóa các bản sao trong danh sách từ điển bằng Python

Hãy xem cách chúng ta có thể loại bỏ các từ trùng lặp khỏi danh sách từ điển trong Python. Bạn sẽ thường gặp dữ liệu từ web ở định dạng giống như danh sách từ điển. Có thể loại bỏ các bản sao khỏi các danh sách này là một kỹ năng quan trọng để đơn giản hóa dữ liệu của bạn

Hãy xem cách chúng ta có thể làm điều này trong Python bằng cách sử dụng vòng lặp for

# Remove Duplicates from a List of Dictionaries
items = [{'name':'Nik'}, {'name': 'Kate'}, {'name':'James'}, {'name':'Nik'}, {'name': 'Kate'}]
unique_items = []

for item in items:
    if item not in unique_items:
        unique_items.append[item]
print[unique_items]

# Returns: [{'name': 'Nik'}, {'name': 'Kate'}, {'name': 'James'}]

Phương pháp này sẽ chỉ bao gồm các bản sao hoàn chỉnh. Điều này có nghĩa là nếu một từ điển có thêm một cặp khóa-giá trị thì nó sẽ được đưa vào

Cách xóa các bản sao trong danh sách danh sách bằng Python

Chúng ta có thể sử dụng phương pháp tương tự để xóa các bản sao khỏi danh sách các danh sách trong Python. Một lần nữa, cách tiếp cận này sẽ yêu cầu danh sách phải hoàn thành giống nhau để nó được coi là trùng lặp. Trong trường hợp này, thậm chí các đơn đặt hàng khác nhau sẽ được coi là duy nhất

Hãy xem cái này trông như thế nào

# Remove Duplicates from a List of Lists in Python
list_of_lists = [[1,2,3], [1,2], [2,3], [1,2,3], [2,3], [1,2,3,4]]
unique = []

for sublist in list_of_lists:
    if sublist not in unique:
        unique.append[sublist]

print[unique]

# Returns: [[1, 2, 3], [1, 2], [2, 3], [1, 2, 3, 4]]

Những gì chúng tôi làm ở đây là lặp lại từng danh sách con trong danh sách danh sách của chúng tôi và đánh giá xem mục đó có tồn tại trong danh sách duy nhất của chúng tôi không. Nếu nó chưa tồn tại [tôi. e. , nó là duy nhất cho đến nay], sau đó nó được thêm vào danh sách của chúng tôi. Điều này đảm bảo rằng một mặt hàng chỉ được thêm vào danh sách của chúng tôi một lần duy nhất

Sự kết luận

Trong hướng dẫn này, bạn đã học cách làm việc với các mục trùng lặp trong danh sách Python. Đầu tiên, bạn đã học cách xác định các yếu tố trùng lặp và cách đếm tần suất chúng xảy ra. Sau đó, bạn đã học cách xóa các phần tử trùng lặp khỏi danh sách bằng cách sử dụng hàm set[]. Từ đó, bạn đã biết cách loại bỏ các mục trùng lặp khỏi danh sách từ điển cũng như danh sách danh sách trong Python

Khả năng làm việc với danh sách giúp cải thiện đáng kể kỹ năng lập trình Python của bạn. Bởi vì những cấu trúc dữ liệu này cực kỳ phổ biến, nên việc có thể làm việc với chúng giúp bạn trở thành nhà phát triển tự tin và có năng lực hơn nhiều

Để tìm hiểu thêm về lớp

# Finding Duplicate Items in a Python List and Count Them
from collections import Counter
numbers = [1, 2, 3, 2, 5, 3, 3, 5, 6, 3, 4, 5, 7]

counts = dict[Counter[numbers]]
duplicates = {key:value for key, value in counts.items[] if value > 1}
print[duplicates]

# Returns: {2: 2, 3: 4, 5: 3}
0 từ thư viện bộ sưu tập, hãy xem tài liệu chính thức tại đây

Chủ Đề