2016-08-02 11 views
0

Ich habe eine Liste von 3 Listen jeweils eine Zufallszahl zwischen 1 und 9 enthalten:Wie schreibe ich den Index für eine Liste von Listen

lists= [[1,3,5],[2,4,6],[7,8,9]] 

Ich frage den Benutzer eine einstellige Zahl zu wählen. Ich mache ein Programm, das die Nummer eins weniger als die Benutzereingaben findet und dann entscheidet, ob die nächste Nummer in der Liste (vorausgesetzt, es ist nicht das Ende der Liste) größer oder kleiner ist.

for x in lists: 
    for i in x: 
     if i= user_choice-1: 

Hier bin ich stecken.

Nehmen wir an, die user_choice ist 3. Ich möchte, dass das Programm die Nummer 3-1 = 2 in den verschachtelten Listen findet und dann die Nummer nach 2 (in diesem Fall 4) mit der user_choice vergleicht.

+0

Also für jede Liste in der Liste der Liste, die Sie wollen x [user_choice + 1]? – Checkmate

+1

Mögliches Duplikat von [Access item in einer Liste von Listen] (http://stackoverflow.com/questions/18449360/access-item-in-a-list-of-lists) – Keozon

+2

'if i = user_choice - 1:' ist eine ungültige Syntax. '=' ist für die Zuordnung, wenn Sie auf Gleichheit überprüfen möchten, müssen Sie schreiben, wenn i == user_choice - 1: –

Antwort

1

Wenn ich richtig verstehe, wollen Sie:

for x in lists: 
    for i in range(len(x)): 
     if x[i] == user_choice-1 and i < len(x)-1: 
      if x[i+1] > x[i]: 
       #Next value is bigger... 
      else: 
       #Next value is smaller... 
2

, wenn Ihre Liste ist

lists= [[1,3,5],[2,4,6],[7,8,9]] 

auf die "1" zugreifen würden Sie folgendes eingeben: lists[0][0] für den Zugriff auf die "8" geben Sie ein: lists[2][1]

* erinnern Listen ihren Index bei 0 beginnen !!! :)

0
lists= [[1,3,5],[2,4,6],[7,8,9]] 

for x in lists: 
    index = 0 
    for i in x: 
     index += 1 
     if i == user_choice - 1: 
      print(x[index]) 
     else: 
      (...) 
1

Ich bin ein wenig verwirrt durch das, was Sie erreichen wollen, aber Sie können den Index zusammen mit dem Element in einer for-Schleife erhalten, indem mit:

for index, value in enumerate(my_list): 
    # Do stuff here 

Oder Sie können das finden Index eines Elements in einer Liste mit:

index = my_list.index(value) 

vergessen Sie nicht, Sie = zu einem == in Ihrer if-Anweisung zu ändern, durch die Art und Weise.

+0

Letztlich möchte ich Elemente von einer Liste zu einer anderen tauschen, aber da die Listen verschachtelt sind, muss ich wissen, wie man den Index der Elemente, die ich tauschen möchte, richtig schreibt. – tdammon