python - 'builtin_function_or_method' 对象不可下标 Python 中的错误
问题描述
我有以下代码:
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
解决方案
其他人提到了它失败的原因,但我会补充一点,如果您的目标是实现列表列表并将它们组合在一起,您更正的代码是:
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 并想尝试新的 walrus 运算符以避免list(range())
两次调用相同的运算符:
x = [(rng := list(range(36))), rng[:]]
y = [(rng := list(range(36,71))), rng[:]]
z = x+y
推荐阅读
- php - 列 div 在上面最大高度的列 div 下方移动
- php - 如何从数据库中的这个序列化数组 PHP 中获取价格数据
- java - TSV 文件转换为 RDF
- powershell - 如何正确将密码提供程序设置为 New-SelfSignedCertificate?
- java - DynamicJasper:使用数组或列表作为没有对象的数据源
- c# - asp.net Button OnClick 事件在使用页面转换时不起作用
- git - 在 macosx 上的 github 上克隆、添加并提交到私有存储库
- android - 每当活动中发生任何事件时,Listview 都会复制自身
- java - 构建和运行任务未显示任何错误,但应用程序未启动
- javascript - 不使用时如何使下拉菜单折叠