step["args"][1][base + i for i in range(31)] = True为什么我收到无效的语法错误?我想在 python 中使用列表理解以便不写:step["args"][1][base + 1] = Truestep["args"][1][base + 2] = Truestep["args"][1][base + 3] = Truestep["args"][1][base + 4] = Truestep["args"][1][base + 5] = True...step["args"][1][base + 30] = True
2 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
[base + i for i in range(31)]
评估为:
[0, 1, 2, ..., 30]
所以你试图用一个长度为 31 的列表来分割一些东西。
您无法通过列表理解轻松实现您想要做的事情(他们不做作业)。
你需要一个 for 循环:
for i in range(31): step["args"][1][base + i] = True
慕后森
TA贡献1802条经验 获得超5个赞
如果您尝试分配True
给现有列表中的“插槽”范围:
from itertools import repeat step["args"][1][base+1:base+31] = repeat(True, 30)
添加回答
举报
0/150
提交
取消