将项目插入嵌套列表PYTHON CLOSED的某个列表中

时间:2016-04-28 18:39:45

标签: python list python-3.x nested-lists

我对此代码的观点是将userInput附加到包含用户选择的另一个单词的列表中。然而,事情只是循环,我怀疑else语句下的代码有问题。我无法弄清楚是什么。有任何想法吗?谢谢!

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

3 个答案:

答案 0 :(得分:0)

你的问题是这行代码:

if userInput1 == my_list[i]:

这一行检查用户输入是否完全等于my_list [i],在这种情况下是一个列表。尝试使用in而不是==

if userInput1 in my_list[i]:

答案 1 :(得分:0)

你必须做两个for循环,一个用于外部列表,然后一个用于嵌套列表。
所以你的代码应该是这样的:

(...)
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
(...)

答案 2 :(得分:0)

有多个错误。再次检查您的代码。

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