如何在Python中将嵌套列表作为输入

tit*_*585 3 python user-input nested-lists python-2.7 indexoutofrangeexception

我必须以下列格式从用户那里获取输入,并从中创建一个嵌套列表.第一行是行数.

3  
Sourav Das 24 M  
Titan Das 23 M  
Gagan Das 22 F  
Run Code Online (Sandbox Code Playgroud)

嵌套列表应该是:

parentlist = [  
['Sourav', 'Das', '24', 'M']  
['Titan', 'Das', '23', 'M']  
['Gagan', 'Das', '22', 'M']  
]  
Run Code Online (Sandbox Code Playgroud)

我写了以下代码:

k = int(raw_input())
parentlist = [[]]
for i in range(0, k):
    str1 = raw_input()
    parentlist[i] = str1.split()
Run Code Online (Sandbox Code Playgroud)

但是在进入第二行后它会给出一些索引超出范围的异常(如下所示).它给出此异常的代码有什么问题?

3
Sourav Das 24 M
Titan Das 23 M
Traceback (most recent call last):
  File "nested.py", line 5, in <module>
    parentlist[i] = str1.split()
IndexError: list assignment index out of range
Run Code Online (Sandbox Code Playgroud)

(我是Python的新手.如果你在我的代码中找到任何错误,那么指出任何其他错误.)

Jak*_*ube 7

当您读取第二行时,您尝试将分割的行存储到父列表[1]中.但是您的父列表只有一个元素(paraentlist [0]).

解决方案是附加列表.

k = int(raw_input())
parentlist = []
for i in range(0, k):
    str1 = raw_input()
    parentlist.append(str1.split())
Run Code Online (Sandbox Code Playgroud)