你有几个变量长度列表,每个变量都从前一个变量开始:
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吗?
谢谢!
答案 0 :(得分:1)
如果您想在两个端点之间均匀分布np.linspace(start_point, end_point, num=X)
点,可以使用numpy.linspace:
factory_boy