所以我正在处理一个未知长度的列表。我需要把这份清单分成四个部分。
第一部分 = 列表的前 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 问题,但我不知道该怎么做,并且已经研究了好几天。我将不胜感激任何帮助。
谢谢