birincisi döngüde hata var. kod şu şekilde olmalı:
dizibir = ["x", "y", "z"]
diziiki = ["deneme", "bir"]
sozluk = {}
for x in dizibir:
for y in diziiki:
sozluk[x] = y
logger.info(type(sozluk))
logger.info(sozluk)ikincisi aynı değişkene farklı atamalar yaptığın için her zaman en son atadığın değer görülür. döngü içerisinde sozluk['x'] = "değişkendeğer" ataması yaptığn için sozluk['x'] değeri en son atadığın değer yani "bir" olarak görülür. kodu şu şekilde değiştirerek json yapısına uygun bir data elde edersin:
dizibir = ["x", "y", "z"]
diziiki = ["deneme", "bir"]
sozluk = {}
for x in dizibir:
sozluk[x] = diziiki
logger.info(type(sozluk))
logger.info(sozluk)bu kodun çıktısı şudur:
{'x': ['deneme', 'bir'], 'y': ['deneme', 'bir'], 'z': ['deneme', 'bir']}
hocam çok sağolun hatayı kısmen olarak anladım ama sanırım bu bahsettiğiniz yapı istediğimi tam yapmayacak.
elimde iki tane dizi var birinde isimler var diğerinde ise belirli textler var.
ben bu diziyi sözlük gibi yapıp tek seferde iki veriyi çağırıp kullandıktan sonra diğerine sonra diğerine geçmek istiyorum.
örneğin ali veli:teşekkürler ,mehmet ahmet : teşekkürler , ali veli : sağolun , mehmet ahmet : sağolun
buradan bir seferde ali veli'yi çağırıp bir inputa ali veli diğer inputa teşekkürler'i göndermek istiyorum. bu yapı için ne kullanmam gerekiyor yardımcı olursanız çok sevinirim.
Olmaz çünkü sözlüklerde bunu yapamazsınız, bir anahtarın değerini yeniden tanımlıyorsunuz.
x:deneme , y:deneme , z:deneme, x:bir, y:bir, z:bir iki tane x ya da iki tane y anahtarı sözlüklerde oluşmaz. Eğer bunu bir
liste içinde yapmak isteseydiniz olurdu
dizibir=["x","y","z"]
diziiki=["deneme","bir"]
sozluk = []
for x in dizibir:
for y in diziiki:
sozluk.append(x + ":" + y)
print(sozluk)
Yapamazsın
sozluk = {'a': 24, 'b': 25, 'a': 26}
şeklinde olsun şimdi iki adet 'a' var sozluk['a'] deyince hangisi anlaşılacak. Python izin vermez saten iki tane anahtara.
sağolun arkadaşlar , bir üstteki mesaja bakabilir misiniz ?