我有以下代码:
x = [[],[]]
y = [[],[]]
for a in range(36):
x.append[0](a)
x.append[1](a)
for l in range(36,71,1):
y.append[0](l)
y.append[1](l)
z = x+y
由于某种原因,它给了我这个错误:
'builtin_function_or_method' object is not subscriptable
答案 0 :(得分:0)
您无法为append()
函数建立索引。您可以使用insert()
函数来做到这一点,就像这样:
list.insert(index, element)
append()
只有一个参数,它是将添加到列表的 end 的元素。
list.append(item)
答案 1 :(得分:0)
x[0].append(a)
append是用于列表的方法,不具有下标功能。
答案 2 :(得分:0)
其他人提到了失败的原因,但是我要补充一点,如果您的目标是实现列表列表并将它们组合在一起,则您的更正代码为:
x = [[],[]]
y = [[],[]]
for a in range(36):
x[0].append(a)
x[1].append(a)
for l in range(36,71):
y[0].append(l)
y[1].append(l)
z = x+y
是实现这一目标的漫长方式。例如,完全消除循环/附加会更容易:
x = [list(range(36)), list(range(36))]
y = [list(range(36,71)), list(range(36,71))]
z = x+y
或者,如果您正在运行Python 3.8,并且想尝试使用新的海象运算符,以避免两次调用相同的list(range())
:
x = [(l := list(range(36))), l]
y = [(l := list(range(36,71))), l]
z = x+y