如何正确使用 Python 列表推导?

step["args"][1][base + i for i in range(31)] = True


为什么我收到无效的语法错误?我想在 python 中使用列表理解以便不写:


step["args"][1][base + 1] = True

step["args"][1][base + 2] = True

step["args"][1][base + 3] = True

step["args"][1][base + 4] = True

step["args"][1][base + 5] = True

...

step["args"][1][base + 30] = True


aluckdog
浏览 113回答 2
2回答

斯蒂芬大帝

[base + i for i in range(31)]评估为:[0, 1, 2, ..., 30]所以你试图用一个长度为 31 的列表来分割一些东西。您无法通过列表理解轻松实现您想要做的事情(他们不做作业)。你需要一个 for 循环:for i in range(31):     step["args"][1][base + i] = True

慕后森

如果您尝试分配True给现有列表中的“插槽”范围:from itertools import repeat step["args"][1][base+1:base+31] = repeat(True, 30)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python