【发布时间】:2019-05-07 21:35:44
【问题描述】:
我刚刚开始使用 Python,正在阅读有关列表推导的内容。
以下代码:
my_list = [x ** x for x in range(1,11) if x % 2 == 0]
print(my_list)
...产生这个输出:
[4, 256, 46656, 16777216, 10000000000]
然后我尝试了这段代码:
my_list = [x ** x for x in range(1,11) if x % 2 == 0 else 7]
print(my_list)
...但是从 else 中的第二个“e”开始出现语法错误。
谁能解释我为什么会遇到语法错误?我想让列表根据基数 (x) 的值创建一个偶数平方列表,如果列表值不是“偶数”平方,则具有值“49”。
【问题讨论】:
-
[x ** x if x % 2 == 0 else 49 for x in range(1,11)].. 寻找骗子