CodeBlanks Logo Icon CodeBlanks

combinations ve permutations

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

main.py
# combinations ile ikili kombinasyon üret

Örnek çözüm

main.py
# 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ı

Soru
from itertools import ____

result = list(combinations([1, 2, 3], 2))
print(result)
Cevap
from itertools import combinations

result = list(combinations([1, 2, 3], 2))
print(result)

Açıklama: combinations itertools modülündedir.

Orta seviye bölümündeki tüm dersler