【发布时间】:2018-06-15 14:32:25
【问题描述】:
我正在尝试弄清楚如何将下面的代码与列表理解一起使用。
link = 'page={}&index={}'
index = 10
links = []
for page in range(2, 4):
links.append(link.format(page, index))
index += 10
我尝试了许多不同的方法并尽可能多地在 Google 上搜索(也许我没有在搜索正确的术语?)。我仍然无法弄清楚。以下是我尝试过的一种方法,但出现SyntaxError 错误。
link = 'page={}&index={}'
index = 10
links = [link.format(link, index) for page in range(2, 4) index += 10]
这应该是列表推导的输出:
['page=2&index=10', 'page=3&index=20']
如果有人有任何想法,将不胜感激。谢谢!
【问题讨论】:
-
广义地说,列表推导式只能包含表达式。
index += 10不是表达式;这是一个声明。所以你不能把它放在列表理解中。但即使你能做到这一点,你也应该质疑你是否应该这样做。并非所有代码都可以通过缩短代码来改进。 -
@dfundako 我编辑了问题以显示我的预期输出。谢谢。
-
@Kevin 哦,好吧,那也很好,如果我不能做到这一点,那就不是世界末日。我只是找不到任何谈论这样做的地方,等等......谢谢你提供的信息。
-
@Kevin 学习编码时要记住的好东西。代码只写一次,读一百次。使其更易于阅读和理解,而不是节省一两行代码。
标签: python python-3.x