combinations ve permutations
- Python kursu
- Orta seviye
- Ders 97/116
- 5 dk
combinations ve permutations ile kombinatoryali öğrenirsin.
combinations ve permutations
combinations(iterable, r) bir kümenin r uzunluğundaki kombinasyonlarını (sırasız) üretir. permutations(iterable, r) ise permütasyonlarını (sıralı) üretir. İkisi de itertools modülündedir.
Örnek: list(combinations([1, 2, 3], 2)) [(1, 2), (1, 3), (2, 3)] döner. list(permutations([1, 2, 3], 2)) ise [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)] döner. Sıra önemliyse permutations, değilse combinations kullanılır.
Ne zaman kullanılır?
Bir listeden sırasız seçim yapman gerekiyorsa combinations kullanırsın. Örnek: bir takımdan 2 kişi seçmek. Sıralı seçim gerekiyorsa permutations kullanırsın. Örnek: başkan ve yardımcısı seçmek.
Her ikisi de yineleyici döner; list() ile sonuçları görebilirsin. r verilmezse permutations tüm uzunlukları dener; combinations ise r zorunludur. Hesaplama karmaşıklığı hızla artar; büyük verilerde dikkatli kullanın.
Uygulama combinations ile ikili seç
from itertools import combinations ile başla. result = list(combinations([1, 2, 3], 2)) ile ikili tüm kombinasyonları üret. Sonra print(result) ile yazdır.
Başlangıç kodu
# combinations ile ikili kombinasyon üretÖrnek çözüm
# combinations ile ikili kombinasyon üret
from itertools import combinations
result = list(combinations([1, 2, 3], 2))
print(result)Beklenen çıktı
[(1, 2), (1, 3), (2, 3)]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 combinations ve permutations eşleştir
| Kavram | Anlamı |
|---|---|
combinations |
Sırasız |
permutations |
Sıralı |
(1, 2) |
Kombinasyon örneği |
(2, 1) |
Permütasyon örneği |
2 Başkan ve yardımcı seçimi için hangisi?
- combinations
- islice
- chain
- permutations Doğru cevap
Açıklama: Permutations. Sıra önemli olduğundan permutations kullanılır.
3 combinations import satırı
from itertools import ____
result = list(combinations([1, 2, 3], 2))
print(result)
from itertools import combinations
result = list(combinations([1, 2, 3], 2))
print(result)
Açıklama: combinations itertools modülündedir.