Hirdetés

Új hozzászólás Aktív témák

  • Lacces
    őstag

    for key in dico: - kulcs alapján a dico szótárban keres
    Nem nyert. Ez egy ciklus, ami végigfut a dico nevű dictionary-n és a ciklus magjában a "key" nevű változóban találod az adott elem kulcsát.

    item=dico[key] - az item változóban a dico kulcsait tárolom.
    Nem nyert. Az item változóhoz hozzárendeled a "dico" dictionaryból a "key" kulcs által meghatározott értéket. (Gy.k. - a dictionary az kulcs-érték párok halmaza)

    dic_inv[item]=key - na én itt valamiért úgy értelmezem, hogy dic_inv[dicokey]=key (ami ismét a dico-nak a kulcsai)
    A dic_inv dictionary-hoz hozzáadsz egy új elemet, aminek a kulcsa a dico aktuális elemének az értéke, az értéke meg a dico aktuális elemének a kulcsa.

    Egyébként meg meg lehet ezt jobban is írni:
    def inverse(dico):
    dic_inv={}
    for key, value in dico.items()
    div_inv[value]=key
    return dic_inv

    Vagy még jobban:
    def inverse(dico):
    return dict(zip(dico.values(), dico.keys()))

    Javaslom, próbáld megemészteni ezeket a verziókat is. :)

    Aham, igaz

    for key in dico - értem, úgy mint a listáknál, ez egy bejárás. Ilyenkor mindig kulcs alapján járja be a szótárt?

    dico[key], igen leesett, ami nem más mint a "key" kulcshoz tarotzó értéket írja ki:
    dico={'computer':'számítógép'}, akkor ebben az esetben a
    print dico[computer] eredménye a számítógép lesz.
    Így már eszembe jutott. Még meg kell szokni. Köszönöm szépen!

    def inverse(dico):
    dic_inv={}
    for key, value in dico.items()
    div_inv[value]=key
    return dic_inv

    Ebben az esetben, a szótárt úgy kezelem, mint egy objektum. a key az adott elem kulcsa, a value az adott elem értéke. És akkor simán kicseréli a kettőt.

    A zip-hez szeretnék magyarázatot kérni. Megnéztem angolul, de a fordítással sem értettem meg. Ez összefűzés lenne egyenként? Példákból is így vettem ki.
    a dico.values() és dico.keys()-t ismerem.

    Amúgy erre gondoltál? (hogy a visszatérési érték egy szótár, ami dic_inv a jelen példában) végül is mindegy, az a lényeg, hogy nem a "dico" szótár.
    def inverse(dico):
    return dic_inv(zip(dico.values(), dico.keys()))

Új hozzászólás Aktív témák