Itertool là một mô -đun được cung cấp bởi Python để tạo ra các trình lặp để lặp hiệu quả. Nó cũng cung cấp các tính năng hoặc chức năng khác nhau hoạt động với các trình lặp để tạo ra các trình lặp phức tạp và giúp chúng tôi giải quyết các vấn đề một cách dễ dàng và hiệu quả về thời gian cũng như bộ nhớ. Mô -đun ITERTOOLS cung cấp cho chúng tôi nhiều cách khác nhau để thao tác trình tự mà chúng tôi đang đi qua. & NBSP;
Các loại lặp khác nhau được cung cấp bởi mô -đun này là:
- Vòng lặp vô hạn
- Trình lặp chấm dứt trên chuỗi đầu vào ngắn nhất
- Máy lặp kết hợp
Lưu ý: Để biết thêm thông tin, hãy tham khảo Python Itertools For more information, refer to Python Itertools
Itertools.permutation()
Hàm itertools.permut () nằm trong các máy phát kết hợp. Các máy phát đệ quy được sử dụng để đơn giản hóa các cấu trúc tổ hợp như hoán vị, kết hợp và các sản phẩm Cartesian được gọi là iterators kết hợp. Như được hiểu bởi từ hoán vị, nó đề cập đến tất cả các kết hợp có thể có trong đó một tập hợp hoặc chuỗi có thể được đặt hàng hoặc sắp xếp. Tương tự ở đây phương thức itertool.permutations () cung cấp cho chúng tôi tất cả các sắp xếp có thể có có thể có cho một trình lặp và tất cả các yếu tố được coi là duy nhất trên cơ sở vị trí của chúng chứ không phải theo giá trị hoặc danh mục của chúng. Tất cả các hoán vị này được cung cấp theo thứ tự từ vựng. Hàm itertool.permutations () lấy một trình lặp và ’r, (độ dài của hoán vị cần thiết) làm đầu vào và giả sử‘ r, là độ dài mặc định của trình lặp nếu không được đề cập và trả về tất cả các hoán vị có thể có độ dài của mỗi độ dài. Cú pháp:Syntax:
Permutations(iterator, r)Ví dụ 1:-& nbsp;
Python3
from itertools import permutations
a ____10 ('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')1
('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')2('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')0 ('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')4
('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')5 ('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')6('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')7 ('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')8('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')9
All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]0All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]1All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]2
Đầu ra:-
('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')Độ phức tạp về thời gian: O (n!) Trong đó n là kích thước của chuỗi.AUXILIARITY: O (n*n!) & Nbsp; O(n!) where n is the size of the
string.
Auxiliary Space: O(n*n!)
Ví dụ 2:-& nbsp;
Python3
from itertools import permutations
a ____10 ('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')1
('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')2('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')0 ('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')4
All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]1>>> from permutation import Permutation >>> p = Permutation(2, 1, 4, 5, 3) >>> p.to_cycles() [(1, 2), (3, 4, 5)] >>> print(p) (1 2)(3 4 5) >>> print(p.inverse()) (1 2)(3 5 4) >>> p.degree 5 >>> p.order 6 >>> p.is_even False >>> p.lehmer(5) 27 >>> q = Permutation.cycle(1,2,3) >>> print(p * q) (2 4 5 3) >>> print(q * p) (1 3 4 5) >>> for p in Permutation.group(3): ... print(p) ... 1 (1 2) (2 3) (1 3 2) (1 2 3) (1 3) 2
('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')5 ('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')6('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')7 ('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')8('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')9
Đầu ra:-
All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]1>>> from permutation import Permutation >>> p = Permutation(2, 1, 4, 5, 3) >>> p.to_cycles() [(1, 2), (3, 4, 5)] >>> print(p) (1 2)(3 4 5) >>> print(p.inverse()) (1 2)(3 5 4) >>> p.degree 5 >>> p.order 6 >>> p.is_even False >>> p.lehmer(5) 27 >>> q = Permutation.cycle(1,2,3) >>> print(p * q) (2 4 5 3) >>> print(q * p) (1 3 4 5) >>> for p in Permutation.group(3): ... print(p) ... 1 (1 2) (2 3) (1 3 2) (1 2 3) (1 3) 2
Độ phức tạp về thời gian: O (n!) Trong đó n là kích thước của chuỗi.AUXILIARITY: O (n*n!) & Nbsp;
All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]1All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]8('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')8from0itertools 3All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]8itertools 5itertools 6python3 -m pip install permutation9>>> from permutation import Permutation >>> p = Permutation(2, 1, 4, 5, 3) >>> p.to_cycles() [(1, 2), (3, 4, 5)] >>> print(p) (1 2)(3 4 5) >>> print(p.inverse()) (1 2)(3 5 4) >>> p.degree 5 >>> p.order 6 >>> p.is_even False >>> p.lehmer(5) 27 >>> q = Permutation.cycle(1,2,3) >>> print(p * q) (2 4 5 3) >>> print(q * p) (1 3 4 5) >>> for p in Permutation.group(3): ... print(p) ... 1 (1 2) (2 3) (1 3 2) (1 2 3) (1 3) 0
Output:-
All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]Sử dụng mô -đun Itertools Hàm itertools 9 chấp nhận một lần lặp lại và tạo ra mọi hoán vị có thể có của các giá trị đầu vào.
Hoán vị là gì
Nếu chúng ta có một tập hợp các giá trị riêng biệt, ví dụ như tập hợp các chữ cái A, B, C và D, có nhiều cách khác nhau chúng ta có thể sắp xếp các mục đó. Ví dụ ABCD, CADB hoặc DCBA. Mỗi sự sắp xếp độc đáo…
Mô tả dự án
GitHub | Pypi | Tài liệu | Vấn đề | Thay đổi
hoán vị cung cấp một lớp hoán vị để thể hiện các hoán vị của nhiều số nguyên dương tính trong Python. Các hoạt động và thuộc tính được hỗ trợ bao gồm đảo ngược, thứ tự (lý thuyết nhóm), chẵn lẻ, thành phần/phép nhân, phân tách chu kỳ, ký hiệu chu kỳ, biểu diễn từ, mã lehmer, và tất nhiên, sử dụng như một người có thể gọi trên số nguyên. provides a Permutation class for representing permutations of finitely many positive integers in Python. Supported operations & properties include inverses, (group theoretic) order, parity, composition/multiplication, cycle decomposition, cycle notation, word representation, Lehmer codes, and, of course, use as a callable on integers.
Cài đặt
hoán vị yêu cầu Python 3,7 trở lên. Chỉ cần sử dụng PIP cho Python 3 (bạn có PIP, phải không?) Để cài đặt: requires Python 3.7 or higher. Just use pip for Python 3 (You have pip, right?) to install:
python3 -m pip install permutationVí dụ
>>> from permutation import Permutation >>> p = Permutation(2, 1, 4, 5, 3) >>> p.to_cycles() [(1, 2), (3, 4, 5)] >>> print(p) (1 2)(3 4 5) >>> print(p.inverse()) (1 2)(3 5 4) >>> p.degree 5 >>> p.order 6 >>> p.is_even False >>> p.lehmer(5) 27 >>> q = Permutation.cycle(1,2,3) >>> print(p * q) (2 4 5 3) >>> print(q * p) (1 3 4 5) >>> for p in Permutation.group(3): ... print(p) ... 1 (1 2) (2 3) (1 3 2) (1 2 3) (1 3)Tải tập tin
Tải xuống tệp cho nền tảng của bạn. Nếu bạn không chắc chắn nên chọn cái nào, hãy tìm hiểu thêm về việc cài đặt các gói.