Hướng dẫn can we compare 2 sets in python? - chúng ta có thể so sánh 2 bộ trong python không?

Tôi có hai bộ số nguyên lớn

if[len[set1]==len[set2]]
3 và
if[len[set1]==len[set2]]
4. Cái nào dưới đây là hiệu quả hơn?

Example:

if[set1 == set2]

hoặc

if[len[set1]==len[set2]]

bad_coder

9.79820 Huy hiệu vàng38 Huy hiệu bạc62 Huy hiệu Đồng20 gold badges38 silver badges62 bronze badges

Hỏi ngày 26 tháng 9 năm 2017 lúc 9:14Sep 26, 2017 at 9:14

0

Hai tuyên bố hoàn toàn khác nhau.

if[len[set1]==len[set2]]
5 so sánh cho sự bình đẳng của từng phần tử trong cả hai tập hợp và đánh giá là true khi và chỉ khi cả hai tập hợp giống hệt nhau.

Trong khi

if[len[set1]==len[set2]]
6 chỉ so sánh chiều dài của cả hai tập hợp. Ngay cả khi bạn có hai bộ có cùng chiều dài, có thể có những trường hợp khi chúng không giống nhau. Ví dụ như xem xét điều này:

SET1: [1, 3, 6, 29, 31]

SET2: [1, 3, 7, 10, 15]

Mặc dù các bộ có cùng độ dài chúng không giống nhau.

Bạn có thể làm điều này để tiết kiệm thời gian.

if len[set1] == len[set2]:
    if set1 == set2:
        //TODO when sets are equal
    else
        //TODO when sets are not equal.
else
    //TODO when sets are not equal

Đã trả lời ngày 26 tháng 9 năm 2017 lúc 9:24Sep 26, 2017 at 9:24

Nikhil Waghnikhil WaghNikhil Wagh

1.2281 Huy hiệu vàng22 Huy hiệu bạc42 Huy hiệu đồng1 gold badge22 silver badges42 bronze badges

Như Nikhil Wagh đã giải thích, trong câu hỏi ban đầu, có một sự nhầm lẫn giữa việc so sánh độ dài của một bộ và kiểm tra sự bình đẳng của hai bộ. Tôi chỉ muốn thêm rằng

if[len[set1]==len[set2]]
7 đơn giản là đủ và hiệu quả, bởi vì __eq __ [] [và phương thức oppsite __ne __ []] của nó đã thực hiện tối ưu hóa này. Trước tiên, nó kiểm tra xem các bộ có cùng độ dài hay không, thì nó sẽ kiểm tra xem các bộ có cùng băm không và chỉ sau đó nó thực hiện kiểm tra
if[len[set1]==len[set2]]
8.

Bạn có thể tìm thấy việc thực hiện kiểm tra bình đẳng tập hợp trong chức năng

if[len[set1]==len[set2]]
9 trong tệp
if len[set1] == len[set2]:
    if set1 == set2:
        //TODO when sets are equal
    else
        //TODO when sets are not equal.
else
    //TODO when sets are not equal
0. Bạn không cần phải mong đợi trong C để hiểu thuật toán - //github.com/python/cpython/blob/master/objects/setobject.c

Đã trả lời ngày 20 tháng 6 năm 2019 lúc 12:10Jun 20, 2019 at 12:10

1

Trong bài viết này, chúng tôi sẽ hiểu các cách khác nhau để so sánh hai danh sách trong Python. Chúng ta thường bắt gặp các tình huống trong đó chúng ta cần so sánh các giá trị của các mục dữ liệu được lưu trữ trong bất kỳ cấu trúc nào nói danh sách, tuple, chuỗi, v.v.compare two lists in Python. We often come across situations wherein we need to compare the values of the data items stored in any structure say list, tuple, string, etc.

if len[set1] == len[set2]:
    if set1 == set2:
        //TODO when sets are equal
    else
        //TODO when sets are not equal.
else
    //TODO when sets are not equal
1 là phương pháp kiểm tra các mục dữ liệu của danh sách chống lại sự bình đẳng với các mục dữ liệu của danh sách khác.

Phương pháp so sánh hai danh sách trong Python

Chúng tôi có thể sử dụng một trong các phương pháp sau để thực hiện so sánh của chúng tôi:

  • Hàm giảm [] và map []
  • Chức năng thu gom.cunt []
  • Hàm python sort [] cùng với == toán tử
  • Hàm python set [] cùng với == toán tử
  • Hàm khác biệt []

1. Hàm giảm python [] và map []

Chúng ta có thể sử dụng hàm python map [] cùng với hàm functools.reduce [] để so sánh các mục dữ liệu của hai danh sách.along with functools.reduce[] function to compare the data items of two lists.

Phương pháp

if len[set1] == len[set2]:
    if set1 == set2:
        //TODO when sets are equal
    else
        //TODO when sets are not equal.
else
    //TODO when sets are not equal
2 chấp nhận một hàm và một điều khác nhau như danh sách, tuple, chuỗi, v.v. làm đối số.function and an iterable such as list, tuple, string, etc. as arguments.

Nó áp dụng hàm được truyền cho từng mục của IT có thể lặp lại và sau đó trả về một đối tượng bản đồ, tức là một trình lặp lại như là kết quả..

Phương pháp

if len[set1] == len[set2]:
    if set1 == set2:
        //TODO when sets are equal
    else
        //TODO when sets are not equal.
else
    //TODO when sets are not equal
3 áp dụng hàm được truyền cho mọi yếu tố của đầu vào có thể lặp lại theo cách đệ quy.recursive manner.

Ban đầu, nó sẽ áp dụng hàm trên phần tử thứ nhất và phần hai và trả về kết quả. Quá trình tương tự sẽ tiếp tục trên từng phần tử cho đến khi danh sách không còn phần tử.

Là một kết hợp, hàm map [] sẽ áp dụng hàm đầu vào cho mọi phần tử và hàm giảm [] sẽ đảm bảo rằng nó áp dụng chức năng theo cách liên tiếp.consecutive manner.

Example:

import functools 


l1 = [10, 20, 30, 40, 50] 
l2 = [10, 20, 30, 50, 40, 70] 
l3 = [10, 20, 30, 40, 50] 

if functools.reduce[lambda x, y : x and y, map[lambda p, q: p == q,l1,l2], True]: 
    print ["The lists l1 and l2 are the same"] 
else: 
    print ["The lists l1 and l2 are not the same"] 

if functools.reduce[lambda x, y : x and y, map[lambda p, q: p == q,l1,l3], True]: 
    print ["The lists l1 and l3 are the same"] 
else: 
    print ["The lists l1 and l3 are not the same"] 

Output:

The lists l1 and l2 are not the same
The lists l1 and l3 are the same

2. Phương thức Python Collection.Count []

Phương thức Collection.Count [] có thể được sử dụng để so sánh danh sách một cách hiệu quả. Hàm bộ đếm [] đếm tần số của các mục trong danh sách và lưu dữ liệu làm từ điển ở định dạng:.:.

Nếu hai danh sách có cùng một đầu ra từ điển, chúng ta có thể suy ra rằng các danh sách là như nhau.

Lưu ý: Thứ tự danh sách không có hiệu lực đối với phương thức bộ đếm []. The list order has no effect on the counter[] method.

Example:

import collections 


l1 = [10, 20, 30, 40, 50] 
l2 = [10, 20, 30, 50, 40, 70] 
l3 = [10, 20, 30, 40, 50] 

if collections.Counter[l1] == collections.Counter[l2]:
    print ["The lists l1 and l2 are the same"] 
else: 
    print ["The lists l1 and l2 are not the same"] 

if collections.Counter[l1] == collections.Counter[l3]:
    print ["The lists l1 and l3 are the same"] 
else: 
    print ["The lists l1 and l3 are not the same"] 

Output:

The lists l1 and l2 are not the same
The lists l1 and l3 are the same

3. Phương thức Python Sort [] và == Toán tử để so sánh danh sách

Chúng ta có thể câu lạc bộ phương thức Python Sắp xếp [] với toán tử == để so sánh hai danh sách.== operator to compare two lists.

Phương thức Python

if len[set1] == len[set2]:
    if set1 == set2:
        //TODO when sets are equal
    else
        //TODO when sets are not equal.
else
    //TODO when sets are not equal
4 được sử dụng để sắp xếp các danh sách đầu vào với mục đích nếu hai danh sách đầu vào bằng nhau, thì các phần tử sẽ nằm ở cùng một vị trí chỉ mục.sort the input lists with a purpose that if the two input lists are equal, then the elements would reside at the same index positions.

Lưu ý: Thứ tự của danh sách không ảnh hưởng đến phương pháp này vì chúng tôi sẽ sắp xếp các danh sách trước khi so sánh. The order of the list does not affect this method because we’ll be sorting the lists before comparison.

Hơn nữa,

if len[set1] == len[set2]:
    if set1 == set2:
        //TODO when sets are equal
    else
        //TODO when sets are not equal.
else
    //TODO when sets are not equal
5 được sử dụng để so sánh danh sách, phần tử theo phần tử.

Example:

import collections 


l1 = [10, 20, 30, 40, 50] 
l2 = [10, 20, 30, 50, 40, 70] 
l3 = [50, 10, 30, 20, 40] 

l1.sort[] 
l2.sort[] 
l3.sort[] 

if l1 == l3: 
    print ["The lists l1 and l3 are the same"] 
else: 
    print ["The lists l1 and l3 are not the same"] 


if l1 == l2: 
    print ["The lists l1 and l2 are the same"] 
else: 
    print ["The lists l1 and l2 are not the same"] 

Output:

The lists l1 and l3 are the same
The lists l1 and l2 are not the same

4. Phương thức Python Set [] và == Toán tử để so sánh hai danh sách

Phương thức Python Set [] thao tác các mục dữ liệu của một bộ điều chỉnh được sắp xếp cho một tập hợp các mục dữ liệu được sắp xếp theo thứ tự các phần tử được xem xét.sorted sequence set of data items without taking the order of elements into consideration.

Hơn nữa,

if len[set1] == len[set2]:
    if set1 == set2:
        //TODO when sets are equal
    else
        //TODO when sets are not equal.
else
    //TODO when sets are not equal
5 được sử dụng để so sánh các mục dữ liệu của danh sách theo kiểu yếu tố.

Example:

l1 = [10, 20, 30, 40, 50] 
l3 = [50, 10, 30, 20, 40] 

a = set[l1]
b = set[l3]

if a == b:
    print["Lists l1 and l3 are equal"]
else:
    print["Lists l1 and l3 are not equal"]

Output:

if[len[set1]==len[set2]]
0

5. Danh sách tùy chỉnh Python Hiểu để so sánh hai danh sách

Chúng ta có thể sử dụng khả năng hiểu danh sách Python để so sánh hai danh sách.

Example:

if[len[set1]==len[set2]]
1

Trong mã trên, chúng tôi đặt một phần tử con trỏ ‘X, thành danh sách L1 và L3. Hơn nữa, chúng tôi kiểm tra xem phần tử được trỏ bởi phần tử con trỏ có trong danh sách.

Output:

if[len[set1]==len[set2]]
2

Sự kết luận

Do đó, trong bài viết này, chúng tôi đã đề cập và hiểu một số cách để so sánh nhiều danh sách trong Python.

Làm thế nào để bạn tìm thấy sự khác biệt giữa hai bộ trong Python?

Phương thức chênh lệch [] trả về một tập hợp chứa sự khác biệt giữa hai bộ.Ý nghĩa: Bộ được trả về chứa các mục chỉ tồn tại trong tập đầu tiên và không phải trong cả hai bộ. returns a set that contains the difference between two sets. Meaning: The returned set contains items that exist only in the first set, and not in both sets.

Làm thế nào để bạn so sánh các giá trị trong hai bộ?

Vì vậy, phương thức Equals [] là một trong những cách được sử dụng và nhanh nhất để so sánh hai bộ trong Java.Phương thức bằng [] so sánh hai bộ dựa trên loại phần tử, kích thước của tập hợp và giá trị của các phần tử.equals[] method is one of the most used and fast ways to compare two sets in Java. The equals[] method compares two sets based on the type of the elements, size of the set, and value of the elements.

Các bộ có thể được so sánh?

Các bộ có thể được so sánh bằng cách sử dụng thuộc tính của số lượng và được đặt hàng nhiều hơn, nhỏ hơn và bằng., and ordered by more than, less than, and equal to.

Làm thế nào để bạn kiểm tra xem hai bộ có cùng một phần tử trong Python không?

Python: Kiểm tra xem hai danh sách có chứa các yếu tố giống nhau bất kể .....
Sử dụng set [] trên kết hợp cả hai danh sách để tìm các giá trị duy nhất ..
Lặp lại chúng với một vòng lặp so sánh số lượng [] của mỗi giá trị duy nhất trong mỗi danh sách ..
Trả về sai nếu số lượng không khớp với bất kỳ yếu tố nào, đúng nếu không ..

Bài Viết Liên Quan

Chủ Đề