Algoritmayı kendiniz oluşturabilirseniz yaparsınız. Sanırım bu soruları kendinizi geliştirmek için çözüyorsunuz, eğer öyleyse bu soru üzerinde düşünmeniz sizin için daha faydalı olur.
from itertools import combinations olmadan farklı problemler için farklı algoritmalar yazmanız gerekebilir, ama yine de problem için ufak bir kod bırakıyorum aşağıya.
x = list(range(10))
y = []
def comb_t(list):
for a in list:
for b in list:
if a == b or a > b:
pass
else:
y.append((a,b))
comb_t(x)
Bana geçenlerde bir ödevim için liste türünde bir kümenin 3 elemanlı alt kümeleri lazım olmuştu, biraz uğraştım kendim yazdım. Elbette ki burada bahsedilen modülü kullanmak daha pratik. Açıkçası tekerleğin nasıl keşfedildiğini anlamak için tekerleği yeniden keşfetmek de insana birşeyler katabiliyor. Belki de gereksiz yere oyalandım.
Sizin bu tip durumlar için tavsiyeniz nedir? Bir görevi yerine getiren bir methodu yazmak çok da zor değilse kendiniz mi yazarsınız yoksa hazır modül mü kullanırsınız?
Zor bir karar. Hazir bulundugu kutuphaneyi proje gereksinimlerine eklemeyi istiyor muyuz?
Elle yazmak ne kadar vakit alacak, su anda o vakti harcamak istiyor muyuz?
Ne kadar maintain edilmesi gerekecek? Peki ileride cikacak use case’leri desteklemek icin ne kadar vakit harcamak gerekecek? Ya kutuphane versiyonu?
Ogrenmek, oynamak istiyor muyuz yoksa is mi bekliyor?