Chức năng kết hợp trong Python là gì?
Phương thức Show Ghi chú. Các tham số được truyền trong phương thức này phải là số nguyên dương cú phápGiá trị tham sốTham sốMô tảBắt buộc. Số nguyên dương của các mục để chọn từkBắt buộc. Số nguyên dương của các mục để chọnGhi chú. Nếu giá trị của k lớn hơn giá trị của n thì kết quả sẽ trả về 0 Ghi chú. Nếu các tham số là âm, một ValueError xảy ra. Nếu các tham số không phải là số nguyên, TypeError sẽ xảy ra Các kết hợp Python là sự lựa chọn của tất cả hoặc một phần của tập hợp các đối tượng mà không quan tâm đến thứ tự các đối tượng được chọn. Ví dụ: giả sử chúng ta có một bộ ba chữ cái. A, B và C. Chúng ta có thể hỏi có bao nhiêu cách để chọn hai chữ cái từ tập hợp đó. Mỗi lựa chọn có thể sẽ là một ví dụ về sự kết hợpkết hợp PythonĐể tính toán các kết hợp trong Python, hãy sử dụng itertools. phương thức kết hợp (). itertools. Phương thức kết hợp () lấy một trình vòng lặp làm đối số và trả về tất cả các kết hợp có thể có của các phần tử trong trình vòng lặp Các tổ hợp Python cũng giống như Hoán vị ngoại trừ việc Không có tập hợp nào sẽ có cùng phần tử với tập hợp khác. Vì vậy, ví dụ: we có một danh sách gồm ba mục như ['android', 'iOS', 'Symbian' ] và nếu chúng ta chỉ chọn hai phần tử và tạo một tổ hợp, thì .
Ví dụHãy lấy ví dụ bằng Ngôn ngữ Python và triển khai nó # app.py from itertools import combinations def combine(arr, s): return list(combinations(arr, s)) array = [21, 18, 19] set = 2 print(combine(array, set)) Trong đoạn mã trên, trước tiên chúng tôi đã nhập đối tượng kết hợp từ mô-đun itertools Sau đó, chúng tôi đã xác định một hàm gọi là combine(), hàm này sẽ trả về danh sách các kết hợp có thể có. Nó nhận một đối số và tạo ra sự kết hợp của những đối số đó Trong ví dụ này, chúng tôi đang tạo một danh sách gồm 2 kết hợp Xem đầu ra Tính toán kết hợp của Tuple trong PythonĐể tính toán các kết hợp của một từ điển trong Python, hãy sử dụng itertools. phương thức kết hợp (). Phương thức kết hợp () lấy một từ điển làm đối số và trả về tất cả các kết hợp có thể có của các thành phần từ điển Tổ hợp là sự lựa chọn các phần tử từ một tập hợp sao cho thứ tự không thành vấn đề. Giả sử chúng ta có một danh sách 0 – một khi số 1 đã được rút ra, nó sẽ không bị thay thếBạn cũng có thể kết hợp với thay thế. 2 tổ hợp (có thay thế) của danh sách 2. Trong trường hợp này, các số được thay thế sau khi chúng được rút raCó một lưu ý quan trọng trước khi chúng ta bắt đầu triển khai thao tác này trong Python. API kết hợp từ itertools coi chỉ mục danh sách là phần tử được vẽ. Điều này có nghĩa là bất kỳ lần lặp nào cũng có thể được coi như một tập hợp (vì tất cả các chỉ số là duy nhất). Nhưng điều quan trọng là phải nhận ra rằng nếu bạn vượt qua 3, các yếu tố sẽ không bị trùng lặp cho bạn. 2 cách kết hợp của 3 theo API kết hợp itertools là 5phương pháp tiếp cậnKết hợp trong itertoolsCực kỳ dễ dàng để tạo các kết hợp trong Python với itertools. Điều sau đây tạo ra tất cả 2 kết hợp của danh sách
Hàm 7 trả về một trình vòng lặp. Đây là những gì bạn muốn nếu bạn định lặp qua các kết hợp. Nhưng bạn có thể chuyển đổi nó thành một danh sách nếu bạn muốn tất cả các kết hợp trong bộ nhớ
Một thuộc tính hữu ích của hàm 7 là nó lấy bất kỳ hàm lặp nào làm đối số đầu tiên. Điều này có nghĩa là bạn có thể chuyển các chuỗi lười biếng trong
Kết hợp với thay thế trong itertoolsNó cũng rất dễ dàng để tạo kết hợp với thay thế
Giao diện của 9 giống với 7Kết hợp không có itertoolsThỉnh thoảng, bạn có thể muốn tạo các kết hợp mà không cần sử dụng itertools. Có thể bạn muốn thay đổi API một chút - chẳng hạn, trả về một danh sách thay vì một trình vòng lặp hoặc bạn có thể muốn thao tác trên một mảng NumPy Về cơ bản, Python sử dụng triển khai C của thuật toán kết hợp. Tuy nhiên, tài liệu cung cấp thông tin hữu ích bạn có thể sử dụng, được sao chép lại ở đây để thuận tiện Sự khác biệt giữa hoán vị và kết hợp trong Python là gì?Do đó, Hoán vị được sử dụng cho danh sách (thứ tự quan trọng) và Kết hợp cho nhóm (thứ tự không quan trọng) .
ví dụ kết hợp là gì?Một vài ví dụ . Sự kết hợp. Chọn một đội gồm 3 người từ một nhóm 10 người. C ( 10 , 3 ) = 10. / ( 7. ∗ 3. ) = 10 ∗ 9 ∗ 8 / ( 3 ∗ 2 ∗ 1 ) = 120. . Sự kết hợp. Chọn 3 món tráng miệng từ thực đơn 10 món. C(10,3) = 120. Hoán vị. Liệt kê 3 món tráng miệng yêu thích của bạn, theo thứ tự, từ thực đơn gồm 10 món. P(10,3) = 720 Kết hợp được sử dụng ở đâu?Các kết hợp được sử dụng khi chỉ cần tìm số nhóm có thể và không cần sắp xếp thứ tự/trình tự . Hoán vị được sử dụng cho những thứ thuộc loại khác. Sự kết hợp được sử dụng cho những thứ cùng loại. Đối với sự sắp xếp khác nhau của mọi thứ nPr=n. /(n-r). |