Hướng dẫn what is pairwise python? - pythonwise là gì?

Đưa ra một danh sách. Nhiệm vụ là viết một chương trình Python để có được tất cả các kết hợp theo cặp từ danh sách.

Tìm tất cả các cặp (không có sự độc đáo)

Example:

Đầu vào: [1, Hồi Mallika, 2, Yash Yash]][1,”Mallika”,2,”Yash”]

Đầu ra: [(1, 'Mallika'), (1, 2), (1, 'Yash'), ('Mallika', 1), ('Mallika', 2), ('Mallika', 'Yash') , (2, 1), (2, 'Mallika'), (2, 'Yash'), ('Yash', 1), ('Yash', 'Mallika'), ('Yash', 2)]] [(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 1: Sử dụng các vòng lặp đơn giản Using simple loops

Chúng ta có thể truy cập tất cả các kết hợp của danh sách bằng hai vòng lặp để lặp lại các chỉ mục danh sách. Nếu cả hai bộ đếm chỉ mục đều có cùng giá trị chỉ mục, chúng tôi sẽ bỏ qua nó, nếu không chúng tôi in phần tử tại chỉ mục tôi theo sau là phần tử tại Index J theo thứ tự. & NBSP;

Độ phức tạp thời gian của phương pháp này là O (N2) vì chúng tôi yêu cầu hai vòng lặp để lặp qua danh sách. & NBSP;

Python3

lst = [1,____________,2,

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

(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
3=
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
5

(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
6
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
7
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
8
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
9lst 0lst 1,lst 3lst 4

lst 5

(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
6 lst 7
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
8
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
9_______

=5=6 =7==9

[0[1

[2[3

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

[4 [5

lst = [110____________1050910

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

17= 192,1

[2lst 0,4,5

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

[4 [5

lst = [110____________1050910

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

17= 192,1

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.

lst 5[2,8

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)

Các

"Mallika"7= "Mallika"92,1

Example:

Đầu vào: [1, Hồi Mallika, 2, Yash Yash]][1,”Mallika”,2,”Yash”]

(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
6
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
7
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
8 ,5
[(1, ‘Mallika’), (1, 2), (1, ‘Yash’), (‘Mallika’, 2), (‘Mallika’, ‘Yash’), (2, ‘Yash’)]

Python3

[4 [5

lst = [110____________1050910

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

lst = [1,____________,2,

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

(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
3=
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
5

(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
6
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
7
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
8
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
9lst 0lst 1,lst 3lst 4

Output:

lst 5

(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
6 lst 7
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
8
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
(2, 2)
9_______