• 18-09-2019, 16:57:42
    #1
    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 ?
  • 18-09-2019, 17:09:55
    #2
    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']}
  • 18-09-2019, 17:21:33
    #3
    CLass16 adlı üyeden alıntı: mesajı görüntüle
    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 ?

    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:45
    #4
    CLass16 adlı üyeden alıntı: mesajı görüntüle
    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 ?
    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.
  • 18-09-2019, 17:23:05
    #5
    Misafir adlı üyeden alıntı: mesajı görüntüle
    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.



    gecemor 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)
    zembla adlı üyeden alıntı: mesajı görüntüle
    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 ?
  • 18-09-2019, 17:33:31
    #6
    o istediğin yapıyı diziyle oluşturabilirsin. json yapısı şu şekilde olmalı:

    [
    {"ali": "merhaba"},
    {"ali":"sağol"},
    {"veli": "selam"},
    {"veli": "naber"}
    ]
  • 18-09-2019, 17:39:14
    #7
    Biraz daha açıklasan daha iyi olabilir. Tam anlaşılmıyor ne istediğin sanırım.
  • 18-09-2019, 17:42:10
    #8
    CLass16 adlı üyeden alıntı: mesajı görüntüle
    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.



    sağolun arkadaşlar , bir üstteki mesaja bakabilir misiniz ?

    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:29
    #9
    Misafir adlı üyeden alıntı: mesajı görüntüle
    o istediğin yapıyı diziyle oluşturabilirsin. json yapısı şu şekilde olmalı:

    [
    {"ali": "merhaba"},
    {"ali":"sağol"},
    {"veli": "selam"},
    {"veli": "naber"}
    ]
    hocam json değil de seleniumda kullanacağım
    zembla adlı üyeden alıntı: mesajı görüntüle
    Biraz daha açıklasan daha iyi olabilir. Tam anlaşılmıyor ne istediğin sanırım.
    açıklıyorum hocam.

    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.



    gecemor 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."
        ]
    }
    yok hocam sohbet değil json kullanmak istemiyorum seleniumla veri göndereceğim.