Hướng dẫn python symmetric difference of two lists - sự khác biệt đối xứng python của hai danh sách

Tôi có hai danh sách mỗi danh sách chứa danh sách hai phần tử.

a = [['Adolf', '10'], ['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15']]
b = [['Rudolf', '40'], ['Adolf', '50']]

Tôi muốn có được 'sự khác biệt đối xứng' của hai danh sách, dựa trên các yếu tố đầu tiên 'khóa' của những người phụ.

Hướng dẫn python symmetric difference of two lists - sự khác biệt đối xứng python của hai danh sách

'Sự khác biệt đối xứng' này sẽ như sau:

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]

Vì vậy, các mục 'Adolf' đã bị xóa vì chúng tồn tại trong cả hai danh sách, trong khi các mục khác, bao gồm cả mục 'Rudolf', đã được đưa vào vì chúng tồn tại không trong cả hai danh sách.

Một ví dụ khác sẽ là như sau:

a = [['Adolf', '10'], ['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15']]
b = [['Heinrich', '25']]
c = [['Adolf', '10'], ['Hermann', '20']]

Tôi cảm thấy rằng điều này phải có thể đạt được thông qua một số toàn bộ danh sách thông minh, nhưng tôi không hoàn toàn chắc chắn làm thế nào để tiếp cận nó.

c = [x for x in a_pairs if x not in b_pairs]

Phương thức Python Set Symmetric_Difference () được sử dụng để có được các phần tử có trong một trong hai bộ, nhưng không phổ biến cho cả hai tập hợp. Hãy cùng nhìn vào sơ đồ Venn của Symmetric_Diferference giữa hai bộ.is used to get the elements present in either of the two sets, but not common to both the sets. Let’s look at the Venn diagram of the symmetric_difference between two sets.

Hướng dẫn python symmetric difference of two lists - sự khác biệt đối xứng python của hai danh sách

Python SET SYMMETRIC_DIFFERTY () Sơ đồ Venn

& nbsp; sự khác biệt đối xứng được đánh dấu màu xanh lá cây nếu có set_a và set_b, thì sự khác biệt đối xứng giữa chúng sẽ bằng với sự kết hợp của set_a và set_b mà không có giao điểm giữa hai.Symmetric Difference is marked in Green If there are a set_A and set_B, then the symmetric difference between them will be equal to the union of set_A and set_B without the intersection between the two.

Python set symmetric_difference () Phương thức cú pháp

Cú pháp: set_a.symmetric_difference (set_b)set_A.symmetric_difference(set_B)

Tham số: lấy một tham số duy nhất phải là một tập hợpTakes a single parameter that has to be a set

Trả về: Trả về một bộ mới là sự khác biệt đối xứng giữa hai bộ.Returns a new set which is the symmetric difference between the two sets.

Ví dụ về phương thức symmetric_difference () của Python SET

Python3

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
5
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
6
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
7
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
8
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
a = [['Adolf', '10'], ['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15']]
b = [['Heinrich', '25']]
c = [['Adolf', '10'], ['Hermann', '20']]
0
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
a = [['Adolf', '10'], ['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15']]
b = [['Heinrich', '25']]
c = [['Adolf', '10'], ['Hermann', '20']]
222

a = [['Adolf', '10'], ['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15']]
b = [['Heinrich', '25']]
c = [['Adolf', '10'], ['Hermann', '20']]
8
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
6
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
7
c = [x for x in a_pairs if x not in b_pairs]
1
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
c = [x for x in a_pairs if x not in b_pairs]
3
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
a = [['Adolf', '10'], ['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15']]
b = [['Heinrich', '25']]
c = [['Adolf', '10'], ['Hermann', '20']]
222

{1, 2, 5, 6, 7, 9}
1
{1, 2, 5, 6, 7, 9}
2

Output:

{1, 2, 5, 6, 7, 9}

Ví dụ 1: Tìm sự khác biệt đối xứng bằng cách sử dụng toán tử ‘^

Chúng ta cũng có thể tìm thấy sự khác biệt đối xứng từ hai bộ bằng cách sử dụng toán tử ‘^, trong Python.

Python3

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
5
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
6
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
7
{1, 2, 5, 6, 7, 9}
6
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
{1, 2, 5, 6, 7, 9}
8
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
{'shyam', 'ravi', 'rahim', 'rishav'}
0
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
{'shyam', 'ravi', 'rahim', 'rishav'}
22

a = [['Adolf', '10'], ['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15']]
b = [['Heinrich', '25']]
c = [['Adolf', '10'], ['Hermann', '20']]
8
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
6
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
7
{'shyam', 'ravi', 'rahim', 'rishav'}
4
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
{'shyam', 'ravi', 'rahim', 'rishav'}
0
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
set(['e', 'o', 'p', 'r', 'w'])
set(['e', 'o', 'p', 'r', 'w'])
set(['a', 'p', 'w', 'n'])
set(['a', 'r', 'e', 'o', 'n'])
3
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
{1, 2, 5, 6, 7, 9}
6__19

{1, 2, 5, 6, 7, 9}
1
A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }

# returns all items to result variable except the items on intersection result = A.symmetric_difference(B) print(result)

# Output: {'a', 'b', 'e'}
0

Output:

{'shyam', 'ravi', 'rahim', 'rishav'}

Ví dụ 2: Phương thức symmetric_difference () Set Set Set

Python

A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }

# returns all items to result variable except the items on intersection result = A.symmetric_difference(B) print(result)

# Output: {'a', 'b', 'e'}
1
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
6
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
7
A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }

# returns all items to result variable except the items on intersection result = A.symmetric_difference(B) print(result)

# Output: {'a', 'b', 'e'}
4
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }

# returns all items to result variable except the items on intersection result = A.symmetric_difference(B) print(result)

# Output: {'a', 'b', 'e'}
6
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }

# returns all items to result variable except the items on intersection result = A.symmetric_difference(B) print(result)

# Output: {'a', 'b', 'e'}
8
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }

# returns all items to result variable except the items on intersection result = A.symmetric_difference(B) print(result)

# Output: {'a', 'b', 'e'}
6__19

A.symmetric_difference(B)
4
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
6
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
7
A.symmetric_difference(B)
7
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }

# returns all items to result variable except the items on intersection result = A.symmetric_difference(B) print(result)

# Output: {'a', 'b', 'e'}
6
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
9
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]

A = {'Python', 'Java', 'Go'}
B = {'Python', 'JavaScript', 'C' }

# returns the symmetric difference of A and B to result variable result = A.symmetric_difference(B)

print(result)
7
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
6
A = {'Python', 'Java', 'Go'}
B = {'Python', 'JavaScript', 'C' }

# returns the symmetric difference of A and B to result variable result = A.symmetric_difference(B)

print(result)
9

{1, 2, 5, 6, 7, 9}
1
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
01

{1, 2, 5, 6, 7, 9}
1
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
03

{1, 2, 5, 6, 7, 9}
1
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
05

{1, 2, 5, 6, 7, 9}
1
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
07

Output:

set(['e', 'o', 'p', 'r', 'w'])
set(['e', 'o', 'p', 'r', 'w'])
set(['a', 'p', 'w', 'n'])
set(['a', 'r', 'e', 'o', 'n'])

Phương thức

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
08 trả về tất cả các mục có trong các bộ đã cho, ngoại trừ các mục trong giao lộ của chúng.

Thí dụ

A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }

# returns all items to result variable except the items on intersection result = A.symmetric_difference(B) print(result)

# Output: {'a', 'b', 'e'}


Symmetric_difference () cú pháp

Cú pháp của phương thức

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
08 là:

A.symmetric_difference(B)

Ở đây, A và B là hai bộ.


tham số symmetric_difference ()

Phương thức

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
08 có một tham số duy nhất:

  • B - Một tập hợp các cặp với tập A để tìm sự khác biệt đối xứng của chúng

symmetric_difference () Giá trị trả về

Phương thức

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
08 Trả về:

  • A tập hợp với tất cả các mục của a và b không bao gồm các mục không bao gồm

Ví dụ 1: SET PYTHON SOMMETRIC_DIFFERTE ()

A = {'Python', 'Java', 'Go'}
B = {'Python', 'JavaScript', 'C' }

# returns the symmetric difference of A and B to result variable result = A.symmetric_difference(B)

print(result)

Đầu ra

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
0

Trong ví dụ trên, chúng tôi đã sử dụng

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
08 để trả về sự khác biệt đối xứng của A và B cho biến kết quả.

Ở đây,

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
13 có mặt trong cả hai bộ A và B. Vì vậy, phương thức trả về tất cả các mục của A và B để kết quả ngoại trừ
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
13.


Ví dụ 2: SET PYTHON SOMMETRIC_DIFFERTE ()

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
1

Đầu ra

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
2

Trong ví dụ trên, chúng tôi đã sử dụng

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
08 để trả về sự khác biệt đối xứng của A và B cho biến kết quả.

Ở đây,

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
13 có mặt trong cả hai bộ A và B. Vì vậy, phương thức trả về tất cả các mục của A và B để kết quả ngoại trừ
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
13.


Ví dụ 2: SET PYTHON SOMMETRIC_DIFFERTE ()

Trong ví dụ trên, chúng tôi đã sử dụng

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
08 với hai bộ A và B. Ở đây, A và B là siêu của nhau, có nghĩa là tất cả các mục của A đều có trong B và ngược lại.

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
3

Đầu ra

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
4

Trong ví dụ trên, chúng tôi đã sử dụng toán tử

c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
16 để tìm sự khác biệt đối xứng của A và B và A, B và C. Với toán tử
c = [['Hermann', '20'], ['Heinrich', '30'], ['Heinrich', '15'], ['Rudolf', '40']]
16, chúng ta cũng có thể tìm thấy sự khác biệt đối xứng của 3 bộ.

Làm cách nào để so sánh hai danh sách và sự khác biệt trong Python?

Phương pháp 6: Sử dụng symmetric_difference để tìm sự khác biệt giữa hai danh sách trong Python. Các phần tử trong tập đầu tiên hoặc bộ thứ hai được trả về bằng kỹ thuật symmetric_difference (). Giao lộ, không giống như các mục được chia sẻ của hai bộ, không được trả lại bởi kỹ thuật này.Use symmetric_difference to Find the Difference Between Two Lists in Python. The elements that are either in the first set or the second set are returned using the symmetric_difference() technique. The intersection, unlike the shared items of the two sets, is not returned by this technique.

Là gì [

Python cũng cho phép bạn lập chỉ mục từ cuối danh sách bằng số âm, trong đó [-1] trả về phần tử cuối cùng.Điều này là siêu hữu dụng vì nó có nghĩa là bạn không phải lập trình tìm ra độ dài của điều đáng tin cậy để làm việc với các yếu tố ở cuối của nó.returns the last element. This is super-useful since it means you don't have to programmatically find out the length of the iterable in order to work with elements at the end of it.

Làm thế nào để bạn tìm thấy sự khác biệt đối xứng của hai danh sách trong Python?

Chúng ta cũng có thể tìm thấy sự khác biệt đối xứng từ hai bộ sử dụng toán tử '^' trong Python.using '^' operator in Python.

Làm thế nào bạn có thể làm sự khác biệt đối xứng giữa hai bộ giải thích với một ví dụ trong Python?

Phương thức Symmetric_Diferference () SET SET với các ví dụ Một sự khác biệt đối xứng của hai bộ X và Y chứa các phần tử có trong SET X hoặc SET Y nhưng không phải trong cả hai.Ví dụ: sự khác biệt đối xứng của tập {1, 2, 3} và {2, 3, 4} sẽ là {1, 4} vì các phần tử 2 và 3 có mặt trong cả hai tập hợp.A symmetric difference of two sets X and Y contains the elements that are in either set X or Set Y but not in both. For example – symmetric difference of set {1, 2, 3} and {2, 3, 4} would be {1, 4} because elements 2 and 3 are present in both the sets.