【问题标题】:How to make a row with list comprehension in python? [duplicate]python - 如何在python中使用列表理解排成一行? [复制]
【发布时间】:2018-01-25 12:40:51
【问题描述】:

您将 2 个整数(p 和 b)作为输入,并输出从 p 开始、在 b 范围内的数字列表。

例子:

raw(10,4)
[10,11,13,14]

我试过这个:

def raw(p,b):
    return[p+1 for i in range(b)]

但我得到:[11,11,11,11]

各位有什么想法吗???

【问题讨论】:

  • 你的意思是p + i
  • 你应该使用i而不是1,但是在这里你最好不要使用列表解析(甚至可能根本不用列表)。
  • 那么list(range(p, p + b))
  • 12 呢?
  • list(range(p, p+b)) 可以,或者您可以简单地使用range(p, p+b) 对象,以防您只从项目中读取。

标签: python list range list-comprehension


【解决方案1】:

在您的列表中。有一个变量会获取列表中的每个值,你总是加 1,而 1 总是 1 是一个常数,它会是:

def raw(p,b):
    return[p+i for i in range(b)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 2018-06-20
    • 2013-12-06
    • 2020-11-03
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多