【问题标题】:Create a list of multiples of 3 from 0 to 20创建一个从 0 到 20 的 3 的倍数列表
【发布时间】:2020-03-25 00:48:31
【问题描述】:

代码方向是(创建一个从 0 到 20 的 3 的倍数列表。)所需的样式如下。因此,在“范围”之后和“如果”之前,缺少一些东西。请帮我。谢谢

a = [i for i in range(20) ? if i % 3 ==0]

【问题讨论】:

  • 什么都没有,我不认为?只需删除?,它对我来说看起来不错。
  • (请注意,您没有将 20 视为可能的值:如果您想要 0-20 的范围,则需要 range(21)。但这对于除以 3 无关紧要.)

标签: python-3.x list for-loop if-statement range


【解决方案1】:

? 是其他语言的三元运算符,但在 python 中它只是x if a else y

对于列表理解[ret for ret in range(X) if_statement] 相当于:

l = []
for ret in range(X):
    if_statement:
        l.append(ret)

所以你可以这样做:

In [1]: a = [i for i in range(20) if i % 3 ==0]                                                   

In [2]: a                                                                                         
Out[2]: [0, 3, 6, 9, 12, 15, 18]

但您也可以使用range 函数并指定步长:

In [3]: list(range(0, 20, 3))                                                                     
Out[3]: [0, 3, 6, 9, 12, 15, 18]

【讨论】:

    猜你喜欢
    • 2016-10-14
    • 2023-04-08
    • 2012-10-04
    • 2021-04-29
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    相关资源
    最近更新 更多