如何创建一个包含两个值之间的数字的列表?

新手上路,请多包涵

如何在两个值之间创建升序列表?例如,11 到 16 之间的列表:

 [11, 12, 13, 14, 15, 16]

原文由 lorde 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 753
2 个回答

使用 range 。在 Python 2 中,它直接返回一个列表:

 >>> range(11, 17)
[11, 12, 13, 14, 15, 16]

在 Python 3 中, range 是一个迭代器。要将其转换为列表:

 >>> list(range(11, 17))
[11, 12, 13, 14, 15, 16]

注意range(start, stop) 中的第二个数字是排他的。所以, stop = 16+1 = 17


要逐步增加 0.5 ,请考虑使用 numpy 的 arange().tolist()

 >>> import numpy as np
>>> np.arange(11, 17, 0.5).tolist()

[11.0, 11.5, 12.0, 12.5, 13.0, 13.5,
 14.0, 14.5, 15.0, 15.5, 16.0, 16.5]

请参阅: 如何为 range() 使用小数步长值?

原文由 Jared 发布,翻译遵循 CC BY-SA 4.0 许可协议

您似乎在寻找 range()

 >>> x1=11
>>> x2=16
>>> range(x1, x2+1)
[11, 12, 13, 14, 15, 16]
>>> list1 = range(x1, x2+1)
>>> list1
[11, 12, 13, 14, 15, 16]

对于递增 0.5 而不是 1 ,说:

 >>> list2 = [x*0.5 for x in range(2*x1, 2*x2+1)]
>>> list2
[11.0, 11.5, 12.0, 12.5, 13.0, 13.5, 14.0, 14.5, 15.0, 15.5, 16.0]

原文由 devnull 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题