为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

aluckdog 2022-05-24 16:58:31
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


查看完整回答
反对 回复 2022-05-24
?
慕后森

TA贡献1802条经验 获得超5个赞

如果您尝试分配True给现有列表中的“插槽”范围:

from itertools import repeat
step["args"][1][base+1:base+31] = repeat(True, 30)


查看完整回答
反对 回复 2022-05-24
  • 2 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信