问题描述
需要知道为什么在 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)