我正在尝试将一些数据放入“嵌套列表”中。 我是初学者,请解释一下,谢谢大家。
n_list = []
n = int(input())
for i in range (0,n):
print(i)
name = input()
n_list[i].append(name)
val = int(input())
n_list[i].append(val)
print(n_list)
答案 0 :(得分:0)
如果要追加到列表,则不需要使用索引(通过使用n_list[i]
指向数组的第i个元素)
n_list = []
n = int(input())
for i in range (0,n):
print(i)
name = input()
n_list.append(name)
val = int(input())
n_list.append(val)
print(n_list)
我要嵌套列表,请执行以下操作:
n_list = []
n = int(input())
for i in range (0,n):
print(i)
inner_list = []
name = input()
inner_list.append(name)
val = int(input())
inner_list.append(val)
n_list.append(inner_list)
print(n_list)
答案 1 :(得分:0)
该错误非常简单并且可以预见,所以没什么好难过的。
The append function works in the following way (syntax):
<list_name>.append(<item>)
是列表的名称,是要插入的项目。
在您的代码中,
n_list[i].append(name)
您正在尝试追加到n_list的第i个索引中存在的列表,该列表不存在。因此,它显示了错误
答案 2 :(得分:0)
就像Andronicus所说,您不需要使用索引[i]。但是,您所说的是“嵌套列表”。您尝试做的不是“嵌套”的。好像您要创建键/值对象列表:
n_list = []
n = int(input())
for i in range (0,n):
print(i)
name = input()
val = int(input())
n_list.append([name, val])
print(n_list)
结果类似:[['myname', 2], ['yourname', 3]]
或作为字典:
n_list = []
n = int(input())
for i in range (0,n):
print(i)
name = input()
val = int(input())
n_list.append({'name': name, 'value': val})
print(n_list)
结果类似:[{'name': 'myname', 'value': 3}, {'name': 'yourname', 'value': 4}]
答案 3 :(得分:0)
问题是您正在尝试访问空列表中的第i
项。由于该列表包含0个元素,并且您要求第i
个元素,因此会出现错误。
您可以使用虚拟值初始化列表
n = int(input())
n_list = n * [None]
然后写
n_list[i] = the_value
答案 4 :(得分:0)
这个正在工作。 您的方法不起作用的原因是因为您 识别尚不存在的索引
n_list[i]
该列表没有元素。这就是为什么您需要append()新的。
n_list = []
n = int(input("write list length: \n"))
for i in range (n):
item = [] #create the nested list for each loop
name = input("Write name : \n")
item.append(name)
val = int(input("write value : \n"))
item.append(val)
n_list.append(item)
print(n_list)