Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menjana Pilihatur dengan Nilai Unik, Mengelakkan Pendua?

Bagaimanakah Saya Boleh Menjana Pilihatur dengan Nilai Unik, Mengelakkan Pendua?

Susan Sarandon
Susan Sarandonasal
2024-12-17 06:20:25722semak imbas

How Can I Generate Permutations with Unique Values, Avoiding Duplicates?

Menjana Pilihatur dengan Nilai Unik

Fungsi pilihatur Itertools menganggap elemen sebagai unik berdasarkan kedudukan dan bukannya nilai, mengakibatkan pendua. Untuk menangani cabaran ini, algoritma dicari untuk mengelakkan pendua tersebut.

Satu pendekatan melibatkan penggunaan lelaran multiset_permutations sympy. Peulang ini menjana pilih atur sambil mempertimbangkan nilai elemen dan bukannya kedudukan:

>>> import sympy
>>> from sympy.utilities.iterables import multiset_permutations
>>> list(multiset_permutations([1,1,1]))
[[1, 1, 1]]
>>> list(multiset_permutations([1,1,2]))
[[1, 1, 2], [1, 2, 1], [2, 1, 1]]

Ini secara berkesan menangani isu pilih atur pendua, menyediakan penyelesaian yang ringkas dan cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Pilihatur dengan Nilai Unik, Mengelakkan Pendua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn