通过保持相同数量的元素,平等扩展列表的范围

时间:2018-02-16 16:37:44

标签: python

你有几个变量长度列表,每个变量都从前一个变量开始:

list_a = list(range(0,100)) # -133 from 233
list_b = list(range(100,150)) # -183 from 233
list_c = list(range(150,200)) # -183 from 233
list_d = list(range(200,600)) # +167 from 233

应该转换这些列表,使其范围从起始编号到+233,但保持相同数量的元素:list_a 100个元素,list_b 50个元素等。

所以最后这些列表应该是这样的:

list_a = list(range(0,233))
list_b = list(range(233,466))
list_c = list(range(466,699))
list_d = list(range(699,932))

我不能只更改列表的第一个和最后一个成员,因为差异必须在列表成员之间平均分配。 所以list_a必须看起来像这样,因为它的最后一个成员低于233:

[0, 1+some_value, 2+some_value, 233]

list_d有超过233个成员,所以我们应该减去:

[699, 670 - some_value, 671 - some_value, 932]

知道如何计算所有列表的some_value吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您想在两个端点之间均匀分布np.linspace(start_point, end_point, num=X) 点,可以使用numpy.linspace

factory_boy