2016-04-28 10 views
0

Mein Punkt mit diesem Code ist das Anfügen der userInput in die Liste, die ein anderes Wort enthält, das der Benutzer ausgewählt hat. Aber die Sache bleibt einfach in der Schleife und ich vermute, dass etwas mit dem Code unter der else-Anweisung nicht stimmt. Ich kann einfach nicht herausfinden, was. Irgendwelche Ideen? Vielen Dank!Einfügen eines Elements in eine bestimmte Liste einer verschachtelten Liste PYTHON CLOSED

import sys 

list1 = ["hello", "hi"] 
list2 = ["goodbye", "bye"] 

my_list = [list1, list2] 
userInput0 = input("What word do you want to put into a list?") 
while True: 
    userInput1 = input("Type a word in which list you want your input to be put in") 

    if userInput1 not in (j for i in my_list for j in i): 
     continue 
    else: 
     for i in range(len(my_list)): 
      if userInput1 == my_list[i]: 
       my_list[i].append(userInput1) 
       print(my_list) 
       break 

Antwort

0

Ihr Problem ist, diese Codezeile:

if userInput1 == my_list[i]: 

Diese Linie zu sehen ist, zu überprüfen, ob eine Benutzereingabe my_list genau gleich ist [i] die in diesem Fall eine Liste ist. Versuchen Sie statt ==

if userInput1 in my_list[i]: 
+0

Großartig, danke! Wirklich geholfen. –

0

Sie haben mit zu tun in zwei for Schleifen, eine für die äußere Liste und dann eine für die verschachtelte Liste.
So sollte Ihr Code wie folgt aussehen:

(...) 
else: 
    for i in range(len(my_list)): 
     for j in range(len(my_list[i])): 
      if userInput1 == my_list[i][j]: 
       my_list[i].append(userInput1) 
       print(my_list) 
       break 
(...) 
+0

Michael Robellards Antwort ist eine andere (möglicherweise bessere) Lösung ... – MCManuelLP

0

Es gibt mehr als ein Fehler waren. Überprüfen Sie Ihren Code noch einmal richtig.

import sys 

list1 = ["hello", "hi"] 
list2 = ["goodbye", "bye"] 

my_list = [list1, list2] 
userInput0 = input("What word do you want to put into a list?") 
while True: 
    userInput1 = input("Type a word in which list you want your input to be put in") 
    for i in range(len(my_list)): 
     if userInput1 in my_list[i]: 
      my_list[i].append(userInput0) 
      print(my_list) 
      break 
+0

Richtig, Sie gewinnen. –

Verwandte Themen