Hirdetés

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

  • cousin333
    addikt

    Sziasztok!

    Kis segítséget kérnék az alábbi kódrészlet megértéséhez. A változók elnevezéseit én írtam át aszerint, ahogy jelenleg értelmezem a szerepüket. Van a sample_map adatstruktúra(JSON?!), amely tartalmaz kulcsokat és azon belül is tartalmaz még kulcs-érték párokat. Ezután egy For ciklussal iterálnék rajta végig, de nem teljesen értem, hogy miért így kell, illetve, hogyan lehetne ezt másképp, "inernal_key1" nélkül megcsinálni.

    Előre is köszönök minden segítséget!

    sample_map = {'key1': {'inernal_key1': ['value1']},
    'key2': {'internal_key2': ['value2']},
    }

    for key in self.sample_map.keys():
    for value in self.sample_map[key]["inernal_key1"]:
    #do something with 'value' variable

    Nem tudom, miféle feladat ez, de így biztos nem fog működni. Az első for ciklus végigiterál a külső szótár kulcsain: "key1" és "key2". Eddig OK. A második ciklus végigmegy a kulcsok által mutatott szótárak értékek"internal_key1" kulcs alatti elemén, ami itt most csak egy 1 elemű lista ("value1"), ez lesz a value. A baj ott van, hogy, a "key2" szótárában nincs "internal_key1" elem. Ennek úgy lenne értelme :F, ha mindkettő helyen csak "internal_key" szerepelne, szám nélkül.

    A self már csak hab a tortán, ennek alapján ez a kód egy osztály része, magában le se fut. Viszont ha egy osztály metódusában van benne, akkor is problematikus, mert a sample_map egy lokális változó lesz, a self.sample_map pedig egy példányváltozó. Tehát ha korábban nem jött létre egy self.sample_map, akkor a program megint csak nem csinál semmit. Illetve de: hibát dob.

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