.index in einem mehrdimensionalem Array

  • Hallo Leute,

    ich habe ein kleines Problem mit meinem Quelltext. Es wäre nett, wenn ihr mir helfen könntet.
    Zerbreche mit nun seit zwei Tagen den Kopf...

    Code
    my_list = [["aa", 30, 20], ["ab", 31, 21]]
    
    
    value_01 = my_list[my_list.index("aa")][1]
    value_02 = value_01 - 0.5
    
    
    print (value_01)
    print (value_02)


    Leider wirft das Programm mir immer wieder aus, dass value "aa" nicht in der list sei.
    Hättet ihr vielleicht eine Lösung?

    Vielen Dank
    Kai

    Einmal editiert, zuletzt von TyRann002 (28. Juni 2017 um 16:03)

  • Hallo,

    Zitat

    Leider wirft das Programm mir immer wieder aus, dass value "aa" nicht in der list sei.


    Was ja auch korrekt ist. In `my_list`sind lediglich zwei Listen und `aa` ist in der Liste mit Index 0 der Liste `my_list`.

    Wenn du eine Liste von Listen hast, wie im gegebenen Fall, dann kannst du über die "äußere" Liste iterieren. Bei jedem Interationsschritt bekommst du eine Liste zurück, in der du dann mit `index()` suchen kannst.

    Übrigens: wenn man anfängt, Variablen durch zu nummerieren, dann will man in der Regel stattdessen eine Liste benutzen.

    Gruß, noisefloor

  • Zitat

    Übrigens: wenn man anfängt, Variablen durch zu nummerieren, dann will man in der Regel stattdessen eine Liste benutzen.

    Ja, es handelt sich nur eine vereinfachte Darstellung, mein eigentlicher Code ist etwas komplexer.
    Da ich ja wusste wo das Problem liegt und ich nur den genauen Fehler nicht erfassen konnte, habe ich nur kurz einen Beispiel-Code geschrieben.

    Trotzdem vielen Dank.

  • [code=php]
    >>> my_list = [["aa", 30, 20], ["ab", 31, 21]]
    >>> my_list
    [['aa', 30, 20], ['ab', 31, 21]]
    >>> my_list[0]
    ['aa', 30, 20]
    >>> my_list[0][0]
    'aa'
    >>> my_list[0][1]
    30
    >>> my_list[0][2]
    20
    >>>
    [/php]

    Leichter/umgänglicher wirds IMHO wenn man es so macht:

    [code=php]
    >>> my_list = {"aa": [30, 20], "ab": [31, 21]}
    >>> my_list
    {'aa': [30, 20], 'ab': [31, 21]}
    >>> my_list["aa"]
    [30, 20]
    >>> my_list["aa"][0]
    30
    >>> my_list["ab"][0]
    31
    >>>
    [/php]

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!