Python - 在列表理解中使用 if、elif 和 else 及其各自的结果

标签 python list if-statement list-comprehension

<分区>

我在想是否可以在列表理解中编写 ifs 和 elifs 以及 elses 并指定如果该表达式为真我们需要做什么。我尝试了以下方法,但没有用:

print(list(x for x in range(1,101) if x%3 == 0 print("Fizz")))

我正在使用 Python 3.3.4。

最佳答案

你可以在 if 的 Truthy 部分或 else 的 Truthy 部分写另一个 if 条件,像这样

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)])

关于Python - 在列表理解中使用 if、elif 和 else 及其各自的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115540/

相关文章:

python - BeautifulSoup .text 方法返回没有分隔符的文本(\n、\r 等)

python - 将用户输入限制为字母

java - 如何使 if/else 语句读取第一个匹配的关键字? ( java )

c++ - 需要在 while 循环中打断

mysql - 如果存在则更新否则插入mysql

python - 如何使用dockerfile在python脚本中设置环境变量?

python - 如何根据 django 中的模型条目创建 URL

python - 在 python 上子类化列表

java - 如何从原始列表类中获取给定子类的元素列表?

python - 检查列表中的项目以查看它们是否彼此相邻