Cho một mảng kích thước N, tạo và in tất cả các kết hợp có thể của các phần tử R trong mảng.
Examples:
Input : arr[] = [1, 2, 3, 4], r = 2 Output : [[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]
Được đề xuất: Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp.{IDE} first, before moving on to the solution.
Vấn đề này có giải pháp đệ quy hiện tại Vui lòng giới thiệu in tất cả các kết hợp có thể có của các phần tử r trong một mảng có liên kết kích thước n. Chúng tôi sẽ giải quyết vấn đề này trong Python bằng mô -đun itertools.combinations [].itertools.combinations[] module.
Itertools.combinations [] làm gì?
Nó trả về r dài r tràng của các phần tử từ đầu vào có thể điều chỉnh được. Sự kết hợp được phát ra theo thứ tự sắp xếp từ vựng. Vì vậy, nếu đầu vào có thể sắp xếp, các bộ dữ liệu kết hợp sẽ được tạo ra theo thứ tự sắp xếp.
- itertools.combinations [itable, r]: nó trả về các bộ dữ liệu độ dài r theo thứ tự được sắp xếp mà không có các phần tử lặp lại. Ví dụ: các kết hợp [‘ABCD, 2] ==> [AB, AC, AD, BC, BD, CD].
It return r-length tuples in sorted order with no repeated elements. For Example, combinations[‘ABCD’, 2] ==> [AB, AC, AD, BC, BD, CD]. - itertools.combinations_with_replocation [Itable, R]: nó trả về các bộ dữ liệu độ dài r theo thứ tự được sắp xếp với các phần tử lặp lại. Ví dụ: kết hợp_with_replocation [‘ABCD, 2] ==> [AA, AB, AC, AD, BB, BC, BD, CC, CD, DD].
It return r-length tuples in sorted order with repeated elements. For Example, combinations_with_replacement[‘ABCD’, 2] ==> [AA, AB, AC, AD, BB, BC, BD, CC, CD, DD].
from
itertools
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]0
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]1
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]2
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]3
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]5
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]6
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]7
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]8
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]9
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0____20
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]2
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]3
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]5
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]7
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]8
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]0
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]2
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]4
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]5
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]7
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]0
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[1, 2] [1, 3] [2, 3]1
[1, 2] [1, 3] [2, 3]2
Output:
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]
Bài viết này được đóng góp bởi Shashank Mishra [Gullu]. Nếu bạn thích GeekSforGeeks và muốn đóng góp, bạn cũng có thể viết một bài viết bằng cách sử dụng PROPTENT.GeekSforGeeks.org hoặc gửi bài viết của bạn đến. Xem bài viết của bạn xuất hiện trên trang chính của GeekSforGeek và giúp các chuyên viên máy tính khác.Shashank Mishra [Gullu]. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.
Vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác, hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên.
[1, 2] [1, 3] [2, 3]6
[1, 2] [1, 3] [2, 3]7
[1, 2] [1, 3] [2, 3]8
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]6
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]06
Permutation
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[1, 2] [1, 3] [2, 3]1
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]09
Python3
from
itertools
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]0
[1, 2] [1, 3] [2, 3]6
[1, 2] [1, 3] [2, 3]7
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
[1, 2] [1, 3] [2, 3]9
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]8
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]0____29
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]2
[1, 2] [1, 3] [2, 3]5
[1, 2] [1, 3] [2, 3]6
[1, 2] [1, 3] [2, 3]7
[1, 2] [1, 3] [2, 3]8
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]6
[2, 1] [2, 3] [1, 3]0
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[1, 2] [1, 3] [2, 3]1
[2, 1] [2, 3] [1, 3]3
Output:
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]
Nó tạo ra n! hoán vị nếu độ dài của chuỗi đầu vào là n. & nbsp; nếu muốn & nbsp; để có được hoán vị có độ dài l sau đó thực hiện nó theo cách này. & nbsp; & nbsp;
If want to get permutations of length L then implement it in this way.
Python3
from
itertools
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]0
[1, 2] [1, 3] [2, 3]6
[1, 2] [1, 3] [2, 3]7
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
[1, 2] [1, 3] [2, 3]9
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]8
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]0____29
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]2
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]6________________
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]8
[1, 2] [1, 3] [2, 3]6
[1, 2] [1, 3] [2, 3]7
[1, 2] [1, 3] [2, 3]8
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]6
[2, 1] [2, 3] [1, 3]0
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[1, 2] [1, 3] [2, 3]1
[2, 1] [2, 3] [1, 3]3
Output:
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]
Nó tạo ra n! hoán vị nếu độ dài của chuỗi đầu vào là n. & nbsp; nếu muốn & nbsp; để có được hoán vị có độ dài l sau đó thực hiện nó theo cách này. & nbsp; & nbsp;
Combination
[1, 2] [1, 3] [2, 3]7
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
[1, 2] [1, 3] [2, 3]9
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]8
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]0____29
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]2
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]6________________
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]8
Python3
from
itertools
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]0
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]1
itertools
1
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
itertools
3[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]8
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]0____29
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]2
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]6____________
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]01
[1, 2] [1, 3] [2, 3]6
[1, 2] [1, 3] [2, 3]7
[1, 2] [1, 3] [2, 3]8
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]6
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]06
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[1, 2] [1, 3] [2, 3]1
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]09
Output:
[1, 2] [1, 3] [2, 3]
1. Kết hợp được phát ra theo thứ tự sắp xếp từ vựng của đầu vào. Vì vậy, nếu danh sách đầu vào được sắp xếp, các bộ dữ liệu kết hợp sẽ được tạo theo thứ tự được sắp xếp. & Nbsp; & nbsp;
Python3
from
itertools
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]0
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]13
itertools
1
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
itertools
3[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]8
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]0____29
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]2
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]6________________
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]8
[1, 2] [1, 3] [2, 3]6
[1, 2] [1, 3] [2, 3]7
[1, 2] [1, 3] [2, 3]8
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]6
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]29
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[1, 2] [1, 3] [2, 3]1
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]09
Output:
[1, 2] [1, 3] [2, 3]
1. Kết hợp được phát ra theo thứ tự sắp xếp từ vựng của đầu vào. Vì vậy, nếu danh sách đầu vào được sắp xếp, các bộ dữ liệu kết hợp sẽ được tạo theo thứ tự được sắp xếp. & Nbsp; & nbsp;
Python3
from
itertools
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]0
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]13
itertools
1
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
itertools
3[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]8
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]0____29
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]2
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]6________________
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]8
[1, 2] [1, 3] [2, 3]6
[1, 2] [1, 3] [2, 3]7
[1, 2] [1, 3] [2, 3]8
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]6
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]29
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]4
[1, 2] [1, 3] [2, 3]1
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]09
Output:
[2, 1] [2, 3] [1, 3]
1. Kết hợp được phát ra theo thứ tự sắp xếp từ vựng của đầu vào. Vì vậy, nếu danh sách đầu vào được sắp xếp, các bộ dữ liệu kết hợp sẽ được tạo theo thứ tự được sắp xếp. & Nbsp; & nbsp;
Python3
from
itertools
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]0
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]13
itertools
1
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
itertools
3[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]8
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]9
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]0____29
[1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2]2
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]6________________
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]8
[1, 2] [1, 3] [2, 3]6
[1, 2] [1, 3] [2, 3]7
[1, 2] [1, 3] [2, 3]8
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]6
[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]29
2. Các yếu tố được coi là duy nhất dựa trên vị trí của chúng, chứ không phải dựa trên giá trị của chúng. Vì vậy, nếu các phần tử đầu vào là duy nhất, sẽ không có giá trị lặp lại trong mỗi kết hợp. & Nbsp; & nbsp;
Output:
[1, 1] [1, 2] [1, 3] [2, 2] [2, 3] [3, 3]