我在想是否有可能在列表理解中编写ifs和elifs和elses,并指定在表达式变为true时我们需要做什么。我尝试过以下但是它不起作用:
print(list(x for x in range(1,101) if x%3 == 0 print("Fizz")))
我正在使用Python 3.3.4。
答案 0 :(得分:4)
您可以在if
的Truthy部分或if
的Truthy部分写下另一个else
条件,就像这样
print(["FizzBuzz" if x%15 == 0 else "Fizz" if x%3 == 0 else "Buzz" if x % 5 == 0 else x for x in range(1,101)])
可读版本:
print(["FizzBuzz"
if x%15 == 0
else
"Fizz"
if x%3 == 0
else
"Buzz"
if x % 5 == 0
else
x
for x in range(1,101)])