Dữ liệu trùng lặp trong python là gì?

Tìm các bản sao trong Danh sách Python và Xóa các bản sao khỏi biến danh sách Python là các tác vụ khá phổ biến. Và đó là vì Danh sách Python có xu hướng thu thập các bản sao trong đó. Kiểm tra xem có trùng lặp hay không trong một biến danh sách là một nhiệm vụ phổ biến đối với các lập trình viên Python

May mắn thay, việc kiểm tra các bản sao trong Python tương đối dễ dàng. Và một khi bạn phát hiện ra chúng, bạn có thể thực hiện một số mục hành động

  • Chỉ liệt kê các giá trị trùng lặp
  • Xóa các giá trị trùng lặp và tạo một danh sách mới mà không có bất kỳ giá trị trùng lặp nào
  • Thay đổi danh sách hiện tại bằng cách chỉ xóa các bản trùng lặp, về cơ bản là loại bỏ trùng lặp danh sách hiện có
  • Chỉ cần đánh giá danh sách trùng lặp và báo cáo nếu có trùng lặp trong danh sách này
  • Đếm các bản sao trong danh sách

Nhưng trước khi chúng ta tìm hiểu sâu hơn về từng nhiệm vụ này, tốt hơn hết là bạn nên nhanh chóng hiểu danh sách là gì và tại sao các bản sao có thể tồn tại trong danh sách Python

Tôi cũng muốn bạn biết về kiểu dữ liệu Set trong ngôn ngữ lập trình Python. Khi bạn biết điểm độc đáo và sự khác biệt của chúng, bạn sẽ đánh giá cao hơn các phương pháp được sử dụng để xác định và loại bỏ các bản sao khỏi danh sách Python

Danh sách trong Python là gì

Một danh sách trong Python giống như một mảng. Nó là một tập hợp các đối tượng, được lưu trữ trong một biến duy nhất. Một danh sách có thể thay đổi. Bạn có thể thêm hoặc xóa các phần tử khỏi danh sách Python. Một danh sách cũng có thể được sắp xếp. Nhưng theo mặc định, một danh sách không được sắp xếp

Danh sách Python cũng có thể chứa các bản sao và nó cũng có thể chứa nhiều phần tử thuộc các loại dữ liệu khác nhau. Bằng cách này, bạn có thể lưu trữ số nguyên, số dấu chấm động, số dương hoặc số âm, chuỗi và thậm chí cả giá trị boolean trong danh sách

Danh sách Python cũng có thể chứa các danh sách khác bên trong nó và có thể phát triển đến bất kỳ kích thước nào. Nhưng các danh sách được coi là chậm hơn trong việc truy cập các phần tử, so với Tuples. Vì vậy, một số phương pháp phù hợp hơn cho danh sách nhỏ và những phương pháp khác phù hợp hơn cho danh sách lớn. Nó phần lớn phụ thuộc vào kích thước danh sách

Bạn xác định một danh sách bằng cách đặt các phần tử trong dấu ngoặc vuông. Mỗi phần tử được phân tách bằng dấu phẩy trong danh sách

Tập hợp trong Python là gì?

Tập hợp là một loại dữ liệu khác có sẵn trong Python. Tại đây, bạn cũng có thể lưu trữ nhiều mục trong một Bộ. Nhưng một bộ khác với danh sách python ở chỗ một bộ không thể chứa các bản sao

Bạn có thể xác định Tập hợp bằng dấu ngoặc nhọn, so với danh sách, được xác định bằng cách sử dụng dấu ngoặc vuông

Một Set trong Python không được sắp xếp hoặc lập chỉ mục. Có thể là mỗi khi bạn truy cập vào một chỉ mục cụ thể từ một tập hợp, bạn sẽ nhận được một giá trị khác

Khi bạn đã tạo một Tập hợp trong Python, bạn có thể thêm các phần tử vào đó, nhưng bạn không thể thay đổi các phần tử hiện có

Bây giờ bạn đã hiểu cơ bản về danh sách và hiểu về Đặt kiểu dữ liệu trong Python, chúng ta sẽ khám phá việc xác định và loại bỏ các bản sao trong Danh sách Python

Nhiều cách để kiểm tra xem có tồn tại trùng lặp trong danh sách Python không

  • Độ dài của Danh sách và độ dài của Tập hợp khác nhau
  • Kiểm tra từng phần tử trong tập hợp. nếu có, dup, nếu không, thêm
  • Kiểm tra danh sách. đếm () cho từng phần tử

Chúng tôi sẽ sử dụng Python 3 làm ngôn ngữ. Vì vậy, miễn là bạn có bất kỳ phiên bản nào của trình biên dịch Python 3, bạn có thể sử dụng được

Phương pháp 1. Sử dụng độ dài của danh sách để xác định xem nó có chứa các phần tử trùng lặp hay không

Hãy viết chương trình Python để kiểm tra điều này

# this input list contains duplicates
mylist = [5, 3, 5, 2, 1, 6, 6, 4] # 5 & 6 are duplicate numbers.

# find the length of the list
print(len(mylist))
8

# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))
6
# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))
6

Như bạn có thể thấy, độ dài của biến mylist là 8 và độ dài của myset là 6

# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))

đầu ra

6

Đây là chương trình Python cuối cùng – mã đầy đủ có thể được sao chép và dán vào chương trình Python và được sử dụng để kiểm tra xem các mục giống hệt nhau có tồn tại trong danh sách hay không

# this input list contains duplicates
mylist = [5, 3, 5, 2, 1, 6, 6, 4] # 5 & 6 are duplicate numbers.

# find the length of the list
print(len(mylist))

# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))

# compare the length and print if the list contains duplicates
if len(mylist) != len(myset):
    print("duplicates found in the list")
else:
    print("No duplicates found in the list")

đầu ra

8
6
duplicates found in the list

Ngoài ra, chúng tôi có thể tạo một chức năng sẽ kiểm tra xem các mục trùng lặp có tồn tại hay không và sẽ trả về Đúng hoặc Sai để cảnh báo chúng tôi về các mục trùng lặp

Đây là chức năng hoàn chỉnh để kiểm tra xem có tồn tại trùng lặp trong danh sách Python không

def is_duplicate(anylist):
    if type(anylist) != 'list':
        return("Error. Passed parameter is Not a list")
    if len(anylist) != len(set(anylist)):
        return True
    else:
        return False

mylist = [5, 3, 5, 2, 1, 6, 6, 4] # you can see some repeated number in the list.
if is_duplicate(mylist):
    print("duplicates found in list")
else:
    print("no duplicates found in list")

Đầu ra của mã Python này là

duplicates found in list

Phương pháp 2. Liệt kê các bản sao trong một danh sách & Liệt kê các giá trị duy nhất – được sắp xếp

Trong phương pháp này, chúng tôi sẽ tạo các danh sách khác nhau để sử dụng khác nhau - một danh sách có các khóa trùng lặp hoặc giá trị lặp lại và các danh sách khác nhau cho các khóa duy nhất. Một vài dòng mã có thể làm nên điều kỳ diệu trong chương trình Python

________số 8

đầu ra

List of duplicates [5, 6]
Unique Item List [5, 3, 2, 1, 6, 4]

Và nếu bạn muốn sắp xếp các mục trong danh sách sau khi loại bỏ các mục trùng lặp, bạn có thể sử dụng hàm sẵn có có tên là sắp xếp trên danh sách các số

# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))
6
0

đầu ra

# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))
6
1

Phương pháp 3. Chỉ liệt kê các giá trị trùng lặp với Phương thức đếm

Phương thức này lặp qua từng phần tử của toàn bộ danh sách và kiểm tra xem số lượng của từng phần tử có lớn hơn 1 không. Nếu có, mục đó được thêm vào một bộ. Nếu bạn nhớ, một bộ không thể chứa bất kỳ bản sao nào, theo thiết kế. Trong đoạn mã sau, đối với các mục tồn tại nhiều lần, chỉ những phần tử lặp lại đó mới được thêm vào tập hợp

# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))
6
2

đầu ra

# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))
6
3

Hãy nhớ rằng các giá trị trùng lặp được liệt kê có thể đã tồn tại một lần hoặc trước đó.

Cách nhanh nhất để loại bỏ các bản sao khỏi danh sách Python

Một trong những cách nhanh nhất để loại bỏ trùng lặp là tạo một tập hợp từ biến danh sách. Tất cả điều này có thể được thực hiện chỉ trong một câu lệnh Python. Đây là phương pháp nhanh nhất, vì vậy nó phù hợp hơn với các danh sách lớn

Đây là mã cuối cùng trong Python – có lẽ là cách tốt nhất…

# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))
6
4

đầu ra

# create a set from the list
myset = set(mylist)

# find the length of the Python set variable myset
print(len(myset))
6
5

Cách tránh trùng lặp trong danh sách Python

Điều đầu tiên bạn phải nghĩ đến là – Tại sao tôi lại sử dụng một danh sách trong Python?

Bởi vì nó có thể thu thập các bản sao. Nếu bạn hoàn toàn rõ ràng rằng không có bản sao nào tồn tại trong bất kỳ thứ gì bạn đang thu thập hoặc lưu trữ, thì đừng sử dụng danh sách. Thay vào đó, cách tốt hơn là sử dụng Set. Một bộ được xây dựng để từ chối trùng lặp, vì vậy đây là giải pháp tốt hơn. Bạn nên khám phá các bộ nhiều hơn một chút để hiểu rõ hơn về bộ. Nó có thể là một trình tiết kiệm thời gian thực vì đây là một cách hiệu quả hơn

Nếu bạn không quan tâm đến thứ tự thì chỉ cần sử dụng set(mylist) sẽ thực hiện công việc loại bỏ mọi trùng lặp. Đây là những gì tôi sử dụng, ngay cả trong trường hợp xấu nhất khi toàn bộ danh sách đến là một danh sách bẩn gồm nhiều phần tử trùng lặp

Ngoài ra, nếu bạn thực sự phải sử dụng danh sách vì những điều bạn có thể làm với kiểu dữ liệu danh sách, hãy thực hiện kiểm tra đơn giản trước khi thêm bất kỳ phần tử nào

Ví dụ: bạn có thể sắp xếp một danh sách, nhưng không phải là Tập hợp trong Python. Nó có thể hữu ích cho các danh sách lớn

Vì vậy, trước khi bạn thêm bất kỳ phần tử mới nào vào danh sách, chỉ cần kiểm tra nhanh sự tồn tại của giá trị. Nếu phần tử tồn tại, thì đừng lưu trữ nó. Giản dị

Các phương pháp được thảo luận ở trên hoạt động trên bất kỳ danh sách các phần tử nào. Vì vậy, nếu bạn muốn tìm các chuỗi trùng lặp hoặc số nguyên trùng lặp hoặc số thực trùng lặp hoặc bất kỳ loại đối tượng trùng lặp nào, bạn có thể sử dụng các chương trình Python này

Hy vọng các cách khác nhau để tìm các bản sao, liệt kê chúng và cuối cùng loại bỏ hoàn toàn các phần tử trùng lặp khỏi bất kỳ danh sách Python nào bằng các chương trình và phương pháp đơn giản sẽ hữu ích cho việc xử lý và hiểu danh sách của bạn

Dữ liệu trùng lặp trong python là gì?

Vinai Prakash

Vinai là Founder & Master Trainer tại Intellisoft Training. Anh ấy viết về công nghệ, nâng cấp kỹ năng và thích chia sẻ các mẹo và thủ thuật của mình để cải thiện năng suất hàng ngày và hoàn thành nhiều việc hơn. Intellisoft cung cấp chứng chỉ ICDL, đào tạo Adobe CC, Microsoft Office tại Singapore. Chúng tôi là ATO của SSG và trung tâm kiểm tra ICDL được ủy quyền

Để lại một câu trả lời

Tìm kiếm

Theo chúng tôi

Facebook-f Youtube

Bài viết gần đây

Cách tổ chức một bài thuyết trình

Đọc thêm "

Dữ liệu trùng lặp trong python là gì?

Bạn có mắc phải những lỗi trình bày này không?

Đọc thêm "

Câu hỏi thường gặp về Microsoft Excel

Đọc thêm "

Sử dụng công cụ Rectangular Marquee trong Photoshop

Đọc thêm "

Chuyển đổi bất kỳ ảnh nào sang đen trắng trong Photoshop

Đọc thêm "

Dữ liệu trùng lặp trong python là gì?

Infographics là gì?

Đọc thêm "

Thể loại
  • AdobePhotoshop
  • Điện toán đám mây
  • Kĩ năng giao tiếp
  • Khái niệm cơ bản về máy tính
  • Tiếp thị kỹ thuật số
  • Huấn luyện nhân viên
  • Hướng dẫn của Intellisoft – Các khóa học được tài trợ bởi WSQ
  • Microsoft Excel
  • Đào tạo Microsoft Office
  • Kỹ thuật trình bày
  • Đào tạo Python
  • Các kĩ năng mềm
  • Đào Tạo Thiết Kế Web

Hướng dẫn hàng tuần

Thẻ

Adobe Photoshop Mẹo Adobe Photoshop Đào tạo Adobe Photoshop Nâng cao Excel Đào tạo lợi ích của giáo dục lợi ích của việc đào tạo nhân viên chức năng excel thông thường cơ bản về máy tính máy tính cho người mới bắt đầu công thức excel chức năng excel chức năng excel trục excel đào tạo excel khóa đào tạo excel chứng chỉ excel wsq đào tạo do chính phủ tài trợ tài trợ cho đào tạo như thế nào . quỹ đào tạo các hàm excel hữu ích vlookup trong Excel 2013 đào tạo vlookup Singapore các khóa học wda excel khóa học wda khóa học wsq khóa học wsq adobe Khóa học chứng nhận WSQ khóa học cấp chứng chỉ wsq khóa học wsq khóa học excel wsq tài trợ wsq tài trợ WSQ cho đào tạo photoshop

Bản sao trong Python là gì?

Nếu một số nguyên hoặc chuỗi hoặc bất kỳ mục nào trong danh sách được lặp lại nhiều lần thì chúng là bản sao.

Giá trị trùng lặp trong tập dữ liệu là gì?

"Sao chép" chỉ có nghĩa là bạn có dữ liệu lặp lại trong tập dữ liệu của mình . Điều này có thể là do những thứ như lỗi nhập dữ liệu hoặc phương pháp thu thập dữ liệu. Ví dụ: nếu bạn đang sử dụng trình quét web, bạn có thể tình cờ quét cùng một trang web nhiều lần hoặc cùng một thông tin từ hai trang khác nhau.

Python xử lý dữ liệu trùng lặp như thế nào?

Phương thức pandas drop_duplicates() giúp loại bỏ các bản sao khỏi Khung dữ liệu Pandas trong Python. .
tập hợp con. Tập hợp con lấy một cột hoặc danh sách nhãn cột. .
giữ cho. keep là để kiểm soát cách xem xét giá trị trùng lặp

Giá trị trùng lặp là gì?

Giá trị trùng lặp là giá trị trong đó tất cả giá trị trong ít nhất một hàng giống với tất cả giá trị trong hàng khác . Việc so sánh các giá trị trùng lặp phụ thuộc vào những gì xuất hiện trong ô—chứ không phải giá trị cơ bản được lưu trữ trong ô.