Bi değişken adının içinde başka değişkene yer verme

bi değişken adının içinde başka değişkene nasıl yer veririm
yani şöle gibi

a=1
liste{a}=["liste","falan"]

böle bi kod olcak listenin adı liste1 olcak olurmu bu

Olmaz.

Degiskenleri bu sekilde kullanmak yanlis zaten. Probleminizin baska ve daha basit bir cozumu var muhtemelen.

3 Beğeni

Değişkenler, en düşük düzeyde dilde(mesela makine) ya da çeviricilerde(mesela MIPS) dahi 10’luk tabandan 2’lik tabana dönüştürülmüş sayıları(ya da geçici hafızaya başka işlemlerin sonuçları olarak atanmış sayıları) değişken hafızada saklamak için tasarlanmış birer kısa süreli adresleme mekanizmalarıdır.

Bir değişken ucunda bir sayı ataması yapılmışsa, başka bir nesneyle çalışmaz. Çünkü sayıs nesnesi ile atamalar dallanarak yapılır. Dallama ile kuyruk farklıdır. Dallamalar önemlidir.

Bu yüzden daha gelişmiş diller, ya da çeviricilerden sonra evrilirken önce sayı türlerine göre saklama mekanizması geliştirdiler. Hatta mimarinin mantığı, işaretli işaretsiz sayı hesaplamada bile zamanla değişmiş. Neticede başka veri türleri de ortaya çıkmış.

Bunun için Veri Tipi diye bir konu var.

Eğer değişkene atadığınız nesne bir sayı ise, hafıza ona göre o değişkeni tutar, yer ayırır. Liste ise ona göre. Ve bu veri tipleri de, birer nesne olarak kendilerine göre özelliklere sahiptir. Fakat mimarisi gereği, bütün işlemlerin kendilerine göre yapıldığı sayılar bir dizi gibi işlem göremezler.

Bu yüzden python’un bir çeşit dizileri olan listelere, demetlere(hatta yazdıklarına bakarsam sözlüklere) bakmalısın.

Aslında son cümle yeterdi ama, işsizim yapacak bir şey yok.

Olur:

Örnek:

var_holder = {}
 
for i in range(10):
    var_holder['my_var_' + str(i)] = "iterationNumber=="+str(i)
 
locals().update(var_holder)
 
print(my_var_0)

may_var_0 da 0 yüklü, may_var_1 de 1 yüklü.

Kaynak: Changing a variable’s name on each iteration of a loop (python-forum.io)

Hoş geldin sözlük. Hoşgeldin.

teşekkür ederim oldu ama locals().update(var_holder) bu kısım sözlükteki her elemanı değişkenlere mi ekliyor

Iki tane cok daha guvenilir kisinin “yapma”, “etme” laflari arasindaki yanlis cevap alinip buraya ayni yanlisligiyla koyulmus. Kullanilmasi tavsiye edilen fonksiyonun uc satirlik dokumentasyonuna bakilmamis bile.

Amac insanlari dogru cozumlere yonlendirmeye calisan kisileri teknik olarak yanlis dusurmek ise, eval fonksiyonundan bahis edilmesi gerekirdi. Onunla en azindan soruda sorulan seyi yapmak mumkun.

1 Beğeni

Sözlük içerisinde liste kullanırsan aslında istediğin şeye ulaşabilirsin sonuçta istediğin şey istediğin isimde bir liste oluşturmak. Sözlük içinde bunu yapmak çok rahat olurdu

listelerim = {}
for i in range(10):
    listelerim[f"liste{i}"]=[f"liste{i}",f"falan{i}"]

print(listelerim["liste3"])

Olmamış, @aib ağabeyin beğenmemiş. @aib ağabeyin eval ile ile yapmanı istiyormuş öbür türlü yanlış kabul ediliyormuş. Biliyorsun bizim referans noktamız ve tek doğrumuz @aib ağebeyin.

Olmayayim diye ugrasiyorum; resmi dokumantasyonda oyle yaziyor diyorum, alinti yaptiginiz fonksiyonlari gidin kontrol edin diyorum, ama olmayinca olmuyor.

3 Beğeni

Arkadaşlar lider, doktrin, dökümantasyon.

Olmaz diyor @aib ağabeyin, dokümantasyon diyor. Kanun var nizam var bu ülkede diyor. Hala inatlaşıyorsun adamla.

Olmaz bırak bak @aib ağabeyin ne demiş sana.

Probleminizin baska ve daha basit bir çözümü var muhtemelen demiş.

Dokümante muhtemel çözümü yapsana @aib ağabeyinin dediği, adamı uğraştırıp duruyorsun.

Seni milli eğitim kafasının güvenli ellerine teslim ediyorum.