所以我正在处理一个未知长度的列表.我需要把这个列表分成四个部分.
第一部分=列表的前20%
第二部分=列表的20%到40%
第三部分=列表的40%到80%
第四部分=从列表的80%到100%.
现在问题是,如果列表少于10个元素,我的一些列表将为空.我的问题是如何避免这个问题.
这是我现在的脚本:
x = ["one","two","three","four","five","six","seven","eight","nine","ten"]
twentyPercentOne = len(x) * 0.2
twentyPercentTwo = len(x) * 0.4
fourtyPercentThree = len(x) * 0.8
i = 0
j = 2
m = []
while j < (twentyPercentOne + 1):
m.append(x[i:j])
i = (i + 2)
j = (j + 2)
h = []
while j < (twentyPercentTwo + 1):
h.append(x[i:j])
i = (i + 2)
j = (j + 2)
l = []
while j < (fourtyPercentThree + 1):
l.append(x[i:j])
i = (i + 2)
j = (j + 2)
t = x[i:len(x)]
输出:
[['one','two']]
[['three','four']]
[['five','six'],['seven','eight']]
['nine','ten']
如果列表长度小于10,则输出:
x = [“一”,“二”,“三”,“四”,“五”,“六”,“七”]
[['one','two']]
[]
[['three','four'],['five','six']]
['seven']
有人知道怎么做这个吗?我知道它更多的是数学问题,而不是python问题,但我不知道该怎么做,并且已经工作了好几天.我将不胜感激任何帮助.
谢谢