Hướng dẫn python get every pair in list - python lấy mọi cặp trong danh sách

Đôi khi, trong khi làm việc với danh sách Python, chúng ta có thể gặp vấn đề trong đó chúng ta cần trích xuất tất cả các cặp có thể có thể được thực hiện từ các số nguyên từ danh sách. Loại vấn đề này có thể xảy ra trong nhiều lĩnh vực như lập trình hàng ngày và phát triển web. Hãy để thảo luận về những cách nhất định trong đó nhiệm vụ này có thể được thực hiện.

Đầu vào: test_list = [1, 7, 4] đầu ra: [(1, 7), (1, 4), (7, 4)]] : test_list = [1, 7, 4]
Output : [(1, 7), (1, 4), (7, 4)]

Đầu vào: test_list = [7, 4] đầu ra: [(7, 4)]] : test_list = [7, 4]
Output : [(7, 4)]

Phương pháp số 1: Sử dụng danh sách hiểu + enumerate() Đây là một trong những cách mà nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi thực hiện nhiệm vụ ghép nối bằng cách sử dụng các vòng lặp lồng nhau trong công thức hiểu danh sách và Enumerate () được sử dụng để kiểm tra các chỉ số tiếp theo trong khi lặp lại.
This is one of the ways in which this task can be performed. In this, we perform the task of pairing using nested loops in list comprehension recipe, and enumerate() is used to check with the next indices while iteration.

test_list = [1,

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
0____9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
2

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
6
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
7
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
8
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
9
itertools.permutations(lst,r)
0
itertools.permutations(lst,r)
1

itertools.permutations(lst,r)
2=
itertools.permutations(lst,r)
4
itertools.permutations(lst,r)
5
itertools.permutations(lst,r)
6
itertools.permutations(lst,r)
7
itertools.permutations(lst,r)
8__

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
6
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
7
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
9
itertools.permutations(lst,r)
0enumerate()2

Đầu ra:

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]

Phương pháp số 2: Sử dụng enumerate()3 Đây là một trong những cách mà nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi chỉ sử dụng hàm inbuild để ghép nối và gửi 2 làm giá trị để tạo các cặp có kích thước 2.
This is one of the ways in which this task can be performed. In this, we just using inbuild function for pairing and sending 2 as value for making pairs of size 2.

enumerate()4 enumerate()5enumerate()6 enumerate()7

test_list = [1,

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
0____9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
2

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
6
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
7
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
8
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
9
itertools.permutations(lst,r)
0
itertools.permutations(lst,r)
1

itertools.permutations(lst,r)
2=
itertools.permutations(lst,r)
4
itertools.permutations(lst,r)
5
itertools.permutations(lst,r)
6
itertools.permutations(lst,r)
7
itertools.permutations(lst,r)
8__

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
6
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
7
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
9
itertools.permutations(lst,r)
0enumerate()2

Đầu ra:

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]


The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
4
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
67
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
68
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
69

[7= [1111211=91116The original list : [1, 7, 4, 3] All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)] 5

Example:

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
52=
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
54=9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
36
[1,”Mallika”,2,”Yash”]

itertools.permutations(lst,r)
5 , 2
itertools.permutations(lst,r)
7
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
60
[(1, ‘Mallika’), (1, 2), (1, ‘Yash’), (‘Mallika’, 1), (‘Mallika’, 2), (‘Mallika’, ‘Yash’), (2, 1), (2, ‘Mallika’), (2, ‘Yash’), (‘Yash’, 1), (‘Yash’, ‘Mallika’), (‘Yash’, 2)]

Đầu ra: Using simple loops

Tìm tất cả các cặp độc đáo (tính độc đáo)

Tuy nhiên, phương pháp hoán vị không phân biệt giữa (a, b) và (b, a) cặp và trả về cả hai. Thư viện itertools cũng hỗ trợ phương thức kết hợp () in một trong các cặp (a, b) hoặc (b, a) chứ không phải cả hai. Số lượng đầu ra của các phần tử tương đương với (N-1)! trong đó n là độ dài của danh sách. Thời gian cần thiết để tính toán các kết hợp là gần như đa thức. & NBSP;

Python3

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
32=
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
34=9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
36

[(1, 'Mallika'), (1, 2), (1, 'Yash'), ('Mallika', 1), ('Mallika', 2), ('Mallika', 'Yash'), (( 2, 1), (2, 'Mallika'), (2, 'Yash'), ('Yash', 1), ('Yash', 'Mallika'), ('Yash', 2)]]

Các cặp được in theo thứ tự của chuỗi sự xuất hiện của các yếu tố trong danh sách.

Các

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
10
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
11
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
12=
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
14

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
15
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
16

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
6
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
18

Output:

[(1, 'Mallika'), (1, 2), (1, 'Yash'), ('Mallika', 1), ('Mallika', 2), ('Mallika', 'Yash'), (( 2, 1), (2, 'Mallika'), (2, 'Yash'), ('Yash', 1), ('Yash', 'Mallika'), ('Yash', 2)]]

Phương pháp 2: Sử dụng itertoolsUsing itertools

Python cung cấp hỗ trợ của thư viện tiêu chuẩn ITERTOOLS được sử dụng để tạo ra các trình lặp để lặp hiệu quả. Thư viện cung cấp hỗ trợ cho các loại lặp khác nhau, theo nhóm, thứ tự được sắp xếp, v.v ... Các chức năng hoán vị () của thư viện này được sử dụng để thông qua tất cả các thứ tự có thể của danh sách các yếu tố, mà không có bất kỳ sự lặp lại nào. Các hàm hoán vị () có cú pháp sau: itertools standard library which is used to create iterators for efficient looping. The library provides support for various kinds of iterations, in groups, sorted order, etc. The permutations() functions of this library are used to get through all possible orderings of the list of elements, without any repetitions. The permutations() functions have the following syntax:

itertools.permutations(lst,r)

Trong đó r mô tả các bộ dữ liệu độ dài R, nghĩa là 2 mô tả một cặp, 3 mô tả một bộ ba. Đối số đầu tiên là danh sách được chỉ định. & nbsp;

Hàm trả về danh sách các nhóm các yếu tố được trả về sau khi hình thành các hoán vị. Đầu ra chứa số phần tử N x (N-1), trong đó n là kích thước của danh sách vì mỗi phần tử sau đó được nhân với tất cả các phần khác. Thời gian cần thiết để tính toán hoán vị là theo cấp số nhân theo thứ tự kích thước của danh sách. & NBSP;

Python3

enumerate()6

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
20

[7___

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
32=
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
34=9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
36

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
6
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
7=7
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
40

Output:

[(1, 'Mallika'), (1, 2), (1, 'Yash'), ('Mallika', 1), ('Mallika', 2), ('Mallika', 'Yash'), (( 2, 1), (2, 'Mallika'), (2, 'Yash'), ('Yash', 1), ('Yash', 'Mallika'), ('Yash', 2)]]

Note:  

  • Phương pháp 2: Sử dụng itertools
  • Python cung cấp hỗ trợ của thư viện tiêu chuẩn ITERTOOLS được sử dụng để tạo ra các trình lặp để lặp hiệu quả. Thư viện cung cấp hỗ trợ cho các loại lặp khác nhau, theo nhóm, thứ tự được sắp xếp, v.v ... Các chức năng hoán vị () của thư viện này được sử dụng để thông qua tất cả các thứ tự có thể của danh sách các yếu tố, mà không có bất kỳ sự lặp lại nào. Các hàm hoán vị () có cú pháp sau:

Python3

enumerate()6

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
20

[7___

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
32=
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
34=9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
36

Các cặp được in theo thứ tự của chuỗi sự xuất hiện của các yếu tố trong danh sách.

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
00
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
6
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
63

Trong trường hợp của tất cả các yếu tố tương tự, phương pháp vẫn tiếp tục tạo thành các cặp và trả lại chúng, ngay cả khi chúng là bản sao. :

(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)

[7= [=911=911=9The original list : [1, 7, 4, 3] All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)] 5

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
52=
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
54=9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
36

Example:

itertools.permutations(lst,r)
5 , 2
itertools.permutations(lst,r)
7
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
60
[1,”Mallika”,2,”Yash”]

Đầu ra: [(1, ‘Mallika’), (1, 2), (1, ‘Yash’), (‘Mallika’, 2), (‘Mallika’, ‘Yash’), (2, ‘Yash’)]

Python3

enumerate()6

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
20

[7___

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
32=
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
34=9
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
36

Các cặp được in theo thứ tự của chuỗi sự xuất hiện của các yếu tố trong danh sách.

Trong trường hợp của tất cả các yếu tố tương tự, phương pháp vẫn tiếp tục tạo thành các cặp và trả lại chúng, ngay cả khi chúng là bản sao.

Output:

[7= [=911=911=9

The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]
5


Làm thế nào để bạn tìm thấy tất cả các cặp trong Python?

Đầu tiên, chúng tôi lấy một danh sách trống 'res' và bắt đầu một vòng lặp và đi qua từng yếu tố của danh sách số nguyên đã cho. Trong mỗi lần lặp, bật phần tử, lưu trữ nó trong 'num', tìm sự khác biệt còn lại cho tổng K và kiểm tra xem sự khác biệt có tồn tại trong danh sách đã cho hay không.

Làm thế nào để bạn tìm thấy tất cả các cặp có thể?

Để tìm tất cả các cặp có thể từ mảng, chúng ta cần đi qua mảng và chọn phần tử đầu tiên của cặp. Sau đó chúng ta cần ghép phần tử này với tất cả các phần tử trong mảng từ chỉ mục 0 đến n-1.Dưới đây là cách tiếp cận từng bước: Đi qua mảng và chọn một phần tử trong mỗi lần đi ngang.traverse the array and select the first element of the pair. Then we need to pair this element with all the elements in the array from index 0 to N-1. Below is the step by step approach: Traverse the array and select an element in each traversal.

Cặp đôi trong Python là gì?

Phương thức Pairwise () trong mô -đun itertools trả về các cặp chồng chéo liên tiếp được lấy từ đầu vào có thể điều chỉnh được.Trình tự của các cặp đầu ra theo thứ tự của các yếu tố trong điều kiện có thể.Chức năng này đã được giới thiệu trong Python phiên bản 3.10.returns the successive overlapping pairs taken from the input iterable. The sequence of the output pairs is in the order of the elements in the iterable. This functionality was introduced in Python version 3.10.

Làm thế nào để bạn so sánh các cặp trong Python?

So sánh các mục n-th của cả hai tuple (bắt đầu với chỉ mục 0) bằng toán tử ==.Nếu cả hai đều bằng nhau, hãy lặp lại bước này với mục tiếp theo.Đối với hai mặt hàng không đồng đều, các mặt hàng ít hơn so với các bộ tạo ra, có chứa nó, cũng có thể ít hơn so với các bộ tuple khác.Nếu tất cả các mục bằng nhau, cả hai bộ dữ liệu đều bằng nhau.using the == operator. If both are equal, repeat this step with the next item. For two unequal items, the item that is “less than” makes the tuple, that contains it, also “less than” the other tuple. If all items are equal, both tuples are equal.