执行以下python理解时面临

问题描述

需要知道为什么在 python 理解中使用 continue 语句和 else 时会出现此错误

sample_list = [6,98,34,45,64,7,2,5,78,90,324,111,657,438]

# write code here 
s ={i:j if i%j == 0 else continue for i in sample_list for j in range(1,i+1)}
print(s)

在 python 中运行上述理解时,我收到此错误

File "<ipython-input-14-0ca1dfa0b6f9>",line 4
    s ={i:j if i%j == 0 else continue for i in sample_list for j in range(1,i+1)}
                             ^
SyntaxError: invalid Syntax

解决方法

它的工作原理是按照@rdas 的建议将 continue 替换为 print()

sample_list = [6,98,34,45,64,7,2,5,78,90,324,111,657,438]
s ={i:j if i%j == 0 else print() for i in sample_list for j in range(1,i+1)}

print(s)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...