Hướng dẫn which does not allow duplicates in python? - cái nào không cho phép trùng lặp trong python?
Có nhiều cách để loại bỏ các bản sao khỏi danh sách Python. Show
Xóa các bản sao khỏi danh sáchDanh sách Python có thể chứa các yếu tố trùng lặp. Hãy cùng xem xét các ví dụ về việc loại bỏ các yếu tố trùng lặp theo những cách khác nhau. 1. Sử dụng danh sách tạm thờiĐây là cách vũ phu để loại bỏ các yếu tố trùng lặp khỏi danh sách. Chúng tôi sẽ tạo ra một danh sách tạm thời và chỉ các yếu tố phụ thuộc vào nó nếu nó không có mặt.
Đầu ra: 2 Recommended Reading: Python f-strings2. Đặt () hàmBộ Python không có các yếu tố trùng lặp. Chúng ta có thể sử dụng hàm set-in () tích hợp để chuyển đổi danh sách thành một tập hợp, sau đó sử dụng hàm danh sách () để chuyển đổi nó trở lại danh sách.
3. Liệt kê các yếu tố làm khóa từ điểnChúng tôi biết rằng các khóa từ điển là duy nhất. Lớp Dict có chức năng FromKeys () chấp nhận một điều có thể tạo ra để tạo từ điển với các phím từ Itable.
4. Hàm số lượng () danh sách - không được khuyến nghịPhương thức Danh sách () trả về số lần xuất hiện của giá trị. Chúng ta có thể sử dụng nó với phương thức Remove () để loại bỏ các phần tử trùng lặp khỏi danh sách.
Lưu ý: Như đã chỉ ra trong nhận xét dưới đây, việc sử dụng hàm Count () không được khuyến khích trong khi loại bỏ phần tử khỏi cùng một trình lặp vì nó có thể dẫn đến kết quả không mong muốn. Ví dụ: For example:
5. Liệt kê hiểu biếtChúng ta có thể tạo một danh sách từ một sự khác biệt bằng cách sử dụng danh sách hiểu. Kỹ thuật này giống như sử dụng danh sách tạm thời và vòng lặp For để loại bỏ các phần tử trùng lặp. Nhưng, nó làm giảm số lượng dòng của mã.
Cách tốt nhất để loại bỏ các bản sao khỏi danh sáchNếu bạn không muốn các yếu tố trùng lặp, bạn nên sử dụng Set. Nhưng, nếu bạn phải xóa các giá trị trùng lặp khỏi danh sách, thì tôi sẽ thích hàm đếm () hơn vì nó không tạo ra một đối tượng danh sách hoặc bộ tạm thời khác. Vì vậy, nó có nhiều bộ nhớ hiệu quả hơn. Phương pháp đặt Python
Trong các phần sau, chúng tôi sẽ thảo luận về một số phương pháp được sử dụng phổ biến nhất được cung cấp bởi Python mà chúng tôi chưa thảo luận. Giới thiệuTrong Python, một bộ là một cấu trúc dữ liệu lưu trữ các mục chưa được đặt hàng. Các mục đã thiết lập cũng không được đăng ký. Giống như một danh sách, một bộ cho phép bổ sung và loại bỏ các yếu tố. Tuy nhiên, có một vài đặc điểm độc đáo xác định một tập hợp và tách nó khỏi các cấu trúc dữ liệu khác:
Cách tạo một bộ trong PythonMột bộ có thể chứa bất kỳ số lượng vật phẩm nào và các mục có thể thuộc các loại khác nhau (bộ sưu tập không đồng nhất) như số nguyên, chuỗi, bộ dữ liệu, v.v. Lưu ý: Một tập hợp không chấp nhận các yếu tố có thể thay đổi, chẳng hạn như danh sách và từ điển. A set does not accept mutable elements, such as lists and dictionaries. Chúng ta có thể tạo một tập hợp bằng cách chuyển tất cả các phần tử tập hợp bên trong niềng răng xoăn 7 và tách các phần tử bằng dấu phẩy ( 8):
Điều này sẽ dẫn đến:
Chúng tôi chỉ tạo ra một tập hợp các số. Chúng ta cũng có thể tạo một tập hợp các giá trị chuỗi: 0Kết quả là: 1Lưu ý: Lưu ý cách các phần tử trong đầu ra không được đặt hàng giống như cách chúng tôi đã thêm chúng vào tập hợp. Lý do cho điều này là các mục đặt không được đặt hàng. Nếu bạn chạy cùng một mã một lần nữa, bạn có thể sẽ nhận được đầu ra với các phần tử được sắp xếp theo một thứ tự khác. Notice how elements in the output are not ordered in the same way we added them to the set. The reason for this is that set items are not ordered. If you run the same code again, you're likely to get an output with the elements arranged in a different order. Chúng ta cũng có thể tạo một tập hợp với các yếu tố của các loại khác nhau: 2Hãy xác minh điều này mang lại một tập hợp hợp lệ: 3Tất cả các yếu tố của tập hợp trên thuộc về các loại khác nhau. Chúng tôi cũng có thể tạo một bộ từ một danh sách. Điều này có thể được thực hiện bằng cách gọi phương thức 5 tích hợp của Python: 4Kết quả này trong:
Như đã nêu ở trên, các bộ không giữ các mục trùng lặp. Giả sử danh sách của chúng tôi có các mục trùng lặp: 6Bộ sẽ chỉ lưu trữ các giá trị duy nhất từ danh sách: 7Bộ này về cơ bản đã loại bỏ các bản sao và chỉ trả về một trong mỗi mục trùng lặp. Điều này cũng xảy ra khi chúng ta đang tạo một bộ từ đầu: 8Một lần nữa, bộ đã loại bỏ các bản sao và chỉ trả về một trong các mục trùng lặp: 7Nếu bạn muốn tạo một bộ trống và sử dụng niềng răng xoăn trống ( 7), bạn sẽ tạo một từ điển trống chứ không phải là một tập trống: 0Để tạo một tập trống trong Python, chúng tôi chỉ cần gọi trên phương thức 5 mà không chuyển bất kỳ giá trị nào: 1Cách truy cập các mục đặt trong PythonPython không cung cấp cho chúng tôi một cách truy cập vào một mục đặt riêng lẻ bằng cách sử dụng ký hiệu đăng ký ( 2). Tuy nhiên, chúng ta có thể sử dụng vòng lặp 3 để lặp qua tất cả các mục của một bộ: 2Điều này sẽ in từng phần tử trong một bộ 4: 3Chúng tôi cũng có thể kiểm tra sự hiện diện của một phần tử trong một bộ bằng từ khóa 5: 4Vì 6 có mặt trong bộ 4, điều này sẽ trả về 8: 5Tương tự, việc tìm kiếm một phần tử không tồn tại trong bộ trả về 9: 6Điều này sẽ dẫn đến: 7Cách thêm các mục vào bộ PythonPython cho phép chúng tôi thêm các mục mới vào một bộ bằng phương thức 00: 8Mục 01 sẽ được thêm thành công vào tập hợp: 9Nếu đó là một tập hợp các số, chúng tôi sẽ không vượt qua phần tử mới trong các trích dẫn như chúng tôi phải làm cho một chuỗi: 0Sẽ thêm 02 vào 03: 1Trong phần tiếp theo, chúng tôi sẽ thảo luận về cách loại bỏ các yếu tố khỏi các bộ. Cách xóa các mục khỏi bộ pythonPython một cách tự nhiên cho phép chúng tôi xóa một mục khỏi một bộ, nhưng chúng tôi không thể xóa nó thông qua một chỉ mục vì các phần tử đặt không được lập chỉ mục. Các mục có thể được loại bỏ bằng các phương thức 04 hoặc 05, với tham chiếu đến phần tử cụ thể đó.Lưu ý: Hãy nhớ rằng phương thức 04 method will not raise an error if the item is not found
in the set. However, if the 05 method is used and the item is not found, an error will be raised.discard()Hãy trình bày cách xóa một phần tử bằng phương pháp 04: 04 method: 2Phần tử 09 sẽ bị xóa khỏi tập hợp: 3remove()Tương tự, phương pháp 05 có thể được sử dụng như sau: 05 method can be used as follows: 4Điều này sẽ mang lại kết quả tương tự: 3Loại bỏ các yếu tố không tồn tại?Bây giờ, chúng ta hãy cố gắng loại bỏ một yếu tố không tồn tại trong tập hợp. Trước tiên hãy sử dụng phương pháp 04: 6Chạy mã ở trên sẽ không ảnh hưởng đến tập hợp theo bất kỳ cách nào:
Bây giờ, hãy xem điều gì xảy ra khi chúng ta sử dụng phương thức 05 trong cùng một kịch bản: 8Trong trường hợp này, việc cố gắng xóa một phần tử không tồn tại sẽ gây ra lỗi: 9pop()Với phương thức 13, chúng ta có thể xóa và trả về một phần tử. Vì các yếu tố không được đặt hàng, chúng tôi không thể biết hoặc dự đoán mục sẽ bị xóa: 13
method, we can remove and return an element. Since the elements are unordered, we cannot tell or predict the item that will be removed: 0Điều này sẽ trả về phần tử bị loại bỏ từ tập hợp: 1Bạn có thể sử dụng cùng một phương thức để xóa một phần tử và trả về các phần tử còn lại trong tập hợp: 2Sẽ in ra các yếu tố còn lại trong tập hợp: 3clear()Phương thức 14 của Python giúp chúng tôi loại bỏ tất cả các yếu tố khỏi một bộ: 4Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó! Đầu ra là một 5 trống không có phần tử trong đó: 5Liên minh các bộ PythonGiả sử chúng ta có hai bộ, A và B. Sự kết hợp của hai bộ là một bộ với tất cả các yếu tố từ cả hai bộ. Một hoạt động như vậy được thực hiện bằng phương pháp 16 của Python.Ví dụ: giả sử chúng tôi có hai bộ chứa tên tháng: 6Sau khi chạy mã này, bộ 17 sẽ chứa sự kết hợp của các bộ 18 và 19: 7Một liên minh cũng có thể được thực hiện trên hơn hai bộ và tất cả các yếu tố của chúng sẽ được kết hợp thành một bộ duy nhất: 8Điều này sẽ dẫn đến: 9Trong quá trình hoạt động của Liên minh, các bản sao bị bỏ qua và chỉ có một trong số các mục trùng lặp được hiển thị: 0Điều này sẽ dẫn đến tập hợp chỉ chứa các giá trị duy nhất từ các bộ bắt đầu: 1Toán tử 20 cũng có thể được sử dụng để tìm sự kết hợp của hai hoặc nhiều bộ: 2Điều này sẽ mang lại kết quả tương tự như sử dụng phương thức 21: 3Nếu bạn muốn thực hiện một liên minh trên hơn hai bộ, hãy tách các tên bộ bằng toán tử 20: 4Điều này sẽ dẫn đến: 1Giao điểm của bộ PythonGiả sử bạn có hai bộ, A và B. Giao điểm của chúng là một tập hợp với các yếu tố có mặt cả trong A và B. Có thể đạt được hoạt động giao nhau trong các bộ bằng cách sử dụng toán tử 23 hoặc phương pháp 24: 6Yếu tố chung duy nhất là 09: 7Điều tương tự cũng có thể đạt được với phương pháp 24: 8Điều này cũng sẽ dẫn đến: 7Sự khác biệt giữa các bộ pythonGiả sử bạn có hai bộ A và B. Sự khác biệt giữa A và B (A - B) là tập hợp với tất cả các phần tử trong A nhưng không phải trong B. Do đó, (B - A) là tập hợp với tất cả các yếu tố trong B nhưng không phải ở A. Để xác định sự khác biệt trong Python, chúng ta có thể sử dụng phương thức 27 hoặc toán tử 28: 0Mã trên tính toán sự khác biệt giữa 29 và 30, do đó chúng tạo thành đầu ra của chúng tôi: 7Toán tử trừ ( 28) cũng có thể được sử dụng để tìm sự khác biệt giữa hai bộ như hình dưới đây: 2Điều này sẽ dẫn đến đầu ra giống như sử dụng phương thức 27: 7Sự khác biệt đối xứng của các tập A và B là tập hợp với tất cả các phần tử trong A và B ngoại trừ các phần tử phổ biến trong cả hai tập hợp. Nó được xác định bằng phương pháp 33 của Python hoặc toán tử 34:symmetric difference of sets A and B is the set with all elements that are in A and B except the elements that are common in both sets. It is determined using the Python's 33 method or the 34 operator: 4Điều này sẽ dẫn đến: 5Như chúng tôi đã nêu trước đây, sự khác biệt đối xứng cũng có thể được tìm thấy bằng cách sử dụng toán tử 34: 6Điều này sẽ mang lại cùng đầu ra như trước: 5So sánh các bộ pythonChúng ta có thể so sánh các bộ tùy thuộc vào các yếu tố họ có. Bằng cách này, chúng ta có thể biết liệu một tập hợp là một superset hay một tập hợp con của một bộ khác. Kết quả từ một so sánh như vậy sẽ là 8 hoặc 9.Để kiểm tra xem SET A có phải là tập hợp con của SET B hay không, chúng ta có thể sử dụng thao tác sau: 8Để kiểm tra xem B có phải là siêu của A hay không, chúng ta có thể sử dụng thao tác sau: 9Ví dụ: 0 18 là tập hợp con của 19, mặt khác, là siêu của 18. Do đó, chạy mã ở trên sẽ mang lại: 1Tập hợp con và superset cũng có thể được kiểm tra bằng các phương thức 41 và 42 như hình dưới đây: 2Mang lại cùng một đầu ra trong ví dụ trên: 1Phương pháp đặt PythonTrong các phần sau, chúng tôi sẽ thảo luận về một số phương pháp được sử dụng phổ biến nhất được cung cấp bởi Python mà chúng tôi chưa thảo luận. copy()Phương thức này trả về một bản sao của bộ trong câu hỏi: 4Đầu ra cho thấy 43 là bản sao của bộ 44: 5isdisjoint()Phương pháp này kiểm tra xem các bộ trong câu hỏi có giao điểm hay không. Nếu các bộ không có các mục phổ biến, phương thức này sẽ trả về 8, nếu không nó sẽ trả về 9: 6Hai bộ không có các mục phổ biến, do đó đầu ra là 8: 5len()Phương thức này trả về độ dài của một tập hợp, là tổng số phần tử trong tập hợp: 8Đầu ra cho thấy tập hợp có độ dài 4: 9Python Frozen SetFrozenset là một lớp với các đặc điểm của một tập hợp, nhưng một khi các yếu tố của nó đã được chỉ định, chúng không thể thay đổi. Tuples có thể được coi là danh sách bất biến, trong khi các bộ đông lạnh có thể được xem là các bộ bất biến. LƯU Ý: Các bộ có thể thay đổi và không thể thay đổi, điều đó có nghĩa là chúng tôi không thể sử dụng chúng làm khóa từ điển. Các bộ đông lạnh có thể băm và chúng ta có thể sử dụng chúng làm khóa từ điển. Sets are mutable and unhashable, which means we cannot use them as dictionary keys. Frozen sets are hashable and we can use them as dictionary keys. Để tạo các bộ đông lạnh, chúng tôi sử dụng phương thức 48. Chúng ta hãy tạo hai Frozenset, 49 và 50: 0Điều này sẽ dẫn đến: 1Các frozensets hỗ trợ việc sử dụng các phương pháp đặt Python như 51, 27, 33, 54, 41, 24, 42 và 16.Sự kết luậnHướng dẫn cung cấp một giới thiệu chi tiết về các bộ trong Python. Định nghĩa toán học của các tập hợp giống như định nghĩa của các bộ trong Python. Một bộ chỉ đơn giản là một bộ sưu tập các mục chưa được đặt hàng. Bản thân bộ là có thể thay đổi, nhưng các yếu tố đã đặt là bất biến. Tuy nhiên, chúng ta có thể thêm và loại bỏ các phần tử khỏi một tập hợp tự do. Trong hầu hết các cấu trúc dữ liệu, các yếu tố được lập chỉ mục. Tuy nhiên, các yếu tố đặt không được lập chỉ mục. Điều này làm cho chúng tôi không thể thực hiện các hoạt động nhắm mục tiêu các yếu tố tập hợp cụ thể. Bộ sưu tập Python nào không cho phép trùng lặp?Các bộ là một bộ sưu tập không được đặt hàng và không được đặt.Chúng có thể thay đổi (có thể thay đổi) nhưng không cho phép các giá trị trùng lặp được giữ. Sets are a collection that is unordered and unindexed. They are mutable (changeable) but do not allow duplicate values to be held.
Điều nào cho phép trùng lặp trong Python?Tuple là một bộ sưu tập được đặt hàng và không thể thay đổi.Cho phép các thành viên trùng lặp. is a collection which is ordered and unchangeable. Allows duplicate members.
Bộ sưu tập nào không cho phép trùng lặp?Một bộ là một bộ sưu tập không thể chứa các yếu tố trùng lặp.Nó mô hình các tập hợp trừu tượng tập hợp toán học. is a Collection that cannot contain duplicate elements. It models the mathematical set abstraction.
Danh sách có cho phép trùng lặp trong Python không?Trong bài viết này, chúng tôi sẽ tìm hiểu danh sách trong Python là gì.Vì một danh sách Python là một tập hợp nhiều yếu tố thậm chí chứa các bản sao, đôi khi cần phải làm cho danh sách trở nên độc đáo. |