【问题标题】:python combining a range and a list of numberspython结合范围和数字列表
【发布时间】:2013-01-25 10:06:24
【问题描述】:
range(5, 15) [1, 1, 5, 6, 10, 10, 10, 11, 17, 28]
range(6, 24) [4, 10, 10, 10, 15, 16, 18, 20, 24, 30]
range(7, 41) [9, 18, 19, 23, 23, 26, 28, 40, 42, 44]
range(11, 49) [9, 23, 24, 27, 29, 31, 43, 44, 45, 45]
range(38, 50) [1, 40, 41, 42, 44, 48, 49, 49, 49, 50]

我从一个函数的打印命令中得到上述输出。我真正想要的是范围的组合列表,例如在顶行 5,6,7...15,1,1,5,6 等。 输出范围来自

range_draws=range(int(lower),int(upper))

我天真地认为会给出一个范围。其他数字来自切片列表。

有人可以帮我得到想要的结果吗?

【问题讨论】:

    标签: python list python-3.x


    【解决方案1】:

    range() 函数返回一个特殊的range object 以节省内存(当只需要开始、结束和步长时,无需将所有数字保留在内存中)。将其投射到列表中以“扩展”它:

    list(yourrange) + otherlist
    

    引用文档:

    range 类型相对于常规 listtuple 的优势在于,range 对象将始终占用相同(少量)的内存,无论它表示的范围大小如何(因为它只存储startstopstep 值,根据需要计算单个项目和子范围)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多