Liste elemanlarını 2 elemanlı kümeler olarak yazdırma fonksyionu

Merhaba arkadaşlar öncelikle iyi forumlar.
Elimde bir liste var ve bu listenin elemanları [0,1,2,3,4,5,6,7,8,9]

comb_t adlı fonksiyona bu listeyi gönderdiğim zaman bana döndürmesini istediğim değer;
[ (0,1), (0,2), (0,3), … (1,2), (1,3)…, (8,9) ]

soru3

Bu konuda yardımlarınızı bekliyorum.

1 Beğeni

Hocam siz bir harikasınız. Vaktinizi ayırdığınız için sağolun. Bu soruyu from itertools import combinations olmadan da çözebilir miyiz peki?

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.

1 Beğeni

Hocam bende import etmeden kendi mantığımla çözmeye çalışıyorum onu sordum zaten. Deniyorum birşeyler ama cevabını görmek de iyi olurdu diye soruyorum

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)
  • from itertools import *
  • import itertools

itertools.combinations ne yapmis baktiniz mi?

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?

1 Beğeni