这是我正在解决的问题的一段简化代码。我在这里无法弄清楚列表理解的语法出了什么问题。谁能帮忙?
for i in range(10):
a = [j if j == i for j in range(100)]
File "<ipython-input-19-4bf2e143eb37>", line 2
a = [j if j == i for j in range(100)]
^
SyntaxError: invalid syntax
编辑:显然我在上面的示例中翻转了语法,因为'if'语句应该放在'for'语句之后。但是,我在这里也意识到了一个奇怪的问题,如果'if'语句也包含'else'语句,则它可以在'for'语句之前,如下例所示。不知道这背后是否有任何逻辑。
l = [22, 13, 45, 50, 98, 69, 43, 44, 1]
[x+1 if x >= 45 else x+5 for x in l]
对此有何想法?
不确定您的确切目标,但请尝试:
for i in range(10):
a = [j for j in range(100) if j == i ]
应该是这样的:
for i in range(10):
a = [j for j in range(100) if j == i]
print(a)