dizibir=["x","y","z"]
diziiki=["deneme","bir"]
arkadaşlar bu iki diziyi
x:deneme , y:deneme , z:deneme,x:bir,y:bir,z:bir tarzında sözlük haline getirmeye çalışıyorum.
for x in dizibir:
for y in diziiki:
sozluk[y]=x
şeklinde olmuyor yardımcı olabilir misiniz ?
yardım - python iki dizi ile sözlük oluşturma
12
●492
- 18-09-2019, 17:09:55birincisi 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']} - 18-09-2019, 17:21:33CLass16 adlı üyeden alıntı: mesajı görüntüle
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) - 18-09-2019, 17:22:45YapamazsınCLass16 adlı üyeden alıntı: mesajı görüntüle
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. - 18-09-2019, 17:23:05hocam çok sağolun hatayı kısmen olarak anladım ama sanırım bu bahsettiğiniz yapı istediğimi tam yapmayacak.Misafir adlı üyeden alıntı: mesajı görüntüle
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.
gecemor adlı üyeden alıntı: mesajı görüntülesağolun arkadaşlar , bir üstteki mesaja bakabilir misiniz ?zembla adlı üyeden alıntı: mesajı görüntüle - 18-09-2019, 17:42:10CLass16 adlı üyeden alıntı: mesajı görüntüle
Anladığım kadarıyla bu bir sohbet. Böyle bir durumda kesinlikle veritabanı kullanmanızı öneririm, en azından sqlite3 bakabilirsiniz. Ama illa da json yapısı ile işi çözecekseniz de şöyle bir json yapısı yapabilirsiniz. Json içinde başka bir json veya mesaj listesi yapabilirsiniz
{ "Ahmet": [ "selam", "teşekkürler siz nasılsınız?" ] "Veli": [ "selam nasılsınız?", "teşekkür ederim ben de iyiyim." ] } - 18-09-2019, 17:42:29hocam json değil de seleniumda kullanacağımMisafir adlı üyeden alıntı: mesajı görüntüle
açıklıyorum hocam.zembla adlı üyeden alıntı: mesajı görüntüle
elimde 2 tane dizi var.
ad = ["ali","ayşe","veli","fatma"]
yorum =["teşekkürler","sağol","eyvallah","müthiş"]
bunlar olsun diziler. şimdi ben bu verileri seleniumla bir alana göndermek istiyorum. mesela ali adıyla hem teşekkürler hem sağol hem eyvallah sonra ayşe adıyla hem teşekkürler hem sağol hem eyvallah göndermek istiyorum.
yok hocam sohbet değil json kullanmak istemiyorum seleniumla veri göndereceğim.gecemor adlı üyeden alıntı: mesajı görüntüle