做一个作业,其中一个部分要求我把列表分成“x”个列表块,但我不一定要用列表中的元素来做,因为我看到了很多这样做的例子。例如,给定列表[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
,我想把这个列表分成3个偶数部分([[1,2,3,4,5],[6,7,8,9,10],[11,12,14,15]])
。你知道吗
我在这里看到的大多数例子都倾向于用“x”来划分整个列表,而不是把它分成“x”组,最后给我一个类似[[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]]
的列表。你知道吗
编辑:
在这个问题的第一部分,我已经找到了如何获得所需的输出,但是在进一步研究我的作业时,我意识到需要生成的列表必须以lst
的增量递增,而不是必须输入一个值,在这个范围内生成一个列表。例如,如果我想打印一个分组列表,比如[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]
,我不想把lst
设置为lst = list(range(1,lst+1))
,然后当我给我的函数赋值时,我想用5代替15来得到相同的结果。你知道吗
def test(num, lst, start = 1):
lst = list(range(start,lst+1))
avg = len(lst) / float(num)
out = []
last = 0.0
while last < len(lst):
out.append(lst[int(last):int(last + avg)])
last += avg
return out
print (test(3,15))
在您的示例中,一个由15个元素组成的列表被分成3个块,组成5个组。可惜你不想要五组而不是三组,你早就搞定了!你知道吗
如果有一种方法可以将15个元素分成不同大小的块,这样就有3个组=)
提示:
太长了,读不下去了,如果你认为把一个列表分成大小为“x”的组不同于做“Y”组,那么你应该花一分钟时间重新考虑。你知道吗相关问题 更多 >
编程相关推荐