Döngüden değişken oluşturmak


#1

Merhaba

cu=['akif kabak yedi', 'kim kabak yedi', 'ömer kabak yedi', 'ömer kara kabak yedi', 'emel kabak yedi']
#listeyi string'e çevirip elemanlarını almak istiyorum.
aa="".join(cu[0])
bb="".join(cu[1])
cc="".join(cu[3])
dd="".join(cu[4])
ee="".join(cu[5])
# for i in len(cu):
#    aa="".join(cu[i])
#bu döngü bana hep "aa" verecek, halbuki ben yukarıdaki sonucu istiyorum. Nasıl yapabilirim?

Yardım lütfen.Teşekkürler.


#2

Çok basit :grinning:

listemiz = list()
for i in len(cu):
    aa="".join(cu[i])
    listemiz.append(aa)

Kolay gelsin :slight_smile:


#3

Teşekkürler.
for i in range(len(cu)): olarak düzelttim, “TypeError: ‘int’ object is not iterable” hatası veriyordu. Ama ben yalnızca “aa” değeri değil, “bb”, “cc”, “dd”, “ee” değerlerini de ayrı ayrı almak istiyorum.


#4

Biraz daha ne istediğinizi açabilirmisiniz ?


#5

Listedeki her elemanı ayrı ayrı değişkenlere bağlamak istiyorum.cu[2] gibi ifadeler işime yaramıyor, çünkü liste elemanları program içinde dinamik olarak seçilip başka fonksiyona girdi olacaklar. Programlamada yeniyim ve iki tam gün harcayıp çözemedim. İlginize teşekkürler, umarım yardımcı olursunuz.


#6

Merhabalar hocam yanliş anlamadiysam dinamik değişken tanımlamak istiyorsunuz.

cu=['akif kabak yedi', 'kim kabak yedi', 'ömer kabak yedi', 'ömer kara kabak yedi', 'emel kabak yedi']
dinamikDegisken = {}
arti = 0
for i in cu:
    dinamikDegisken["a"+str(arti)] = i
    arti+=1


# Ekrana bastırma :

for i,j in zip(dinamikDegisken.keys(),dinamikDegisken.values()):
    print("{}  :  {}".format(i,j))


çıktı :

a0 : akif kabak yedi
a1 : kim kabak yedi
a2 : ömer kabak yedi
a3 : ömer kara kabak yedi
a4 : emel kabak yedi


#7

Çok teşekkür ederim, bu sorunumu çözüyor. Yeni soru bağlantılı olduğu için yeni konu açmıyorum. elde ettiğimiz

a0 : akif kabak yedi
a1 : kim kabak yedi
a2 : ömer kabak yedi
a3 : ömer kara kabak yedi
a4 : emel kabak yedi

çıktısından, pseudokod:

zz=set(a0).difference(a1)
xx=set(a1).difference(a2)
cc=set(a2).difference(a3)
vv=set(a3).difference(a4)
nn=set().union(zz,xx,cc,vv)
for i in nn:
    if i=="ömer" or i=="ömer kara":
        continue
    print(i)

“akif, kim, emel”
çıktısını almak istiyorum.
Eğer " dinamikDegisken" sözlüğünün max(a), yani burada (a4) değerini biliyorsam len(dinamikDegisken), sözlüğü listeye çevirerek yukarıdaki kodlar işe yarıyor. Ama sanırım bu hayli uzun bir yol. Daha kısa bir yolu var mı acaba?


#8

Lîsteyê çevirmeniz gerekmez yukarıda çıktı almak için yazdığımız for dongusunu sadece values değerleri alıp işlem yapabilirsiniz.


#9

Teşekkür ederim, emeğinize, zihninize sağlık!