-1
列表L = [1,2,1,2,2,1,1,2] 根據等於4的元素的累積和將列表L分割成子列表。即列表應該被劃分爲S = [1,2,1],[2,2],[1,1,2]如何根據列表中的元素總和在python中分割列表?
列表L = [1,2,1,2,2,1,1,2] 根據等於4的元素的累積和將列表L分割成子列表。即列表應該被劃分爲S = [1,2,1],[2,2],[1,1,2]如何根據列表中的元素總和在python中分割列表?
我建議這個代碼,但肯定也有一些改進,可以做到:
cumulativesum=4
score1=0
S=[]
sublist=[]
for element in L:
score1=score1+int(element)
if score1 < cumulativesum:
sublist.append(element)
elif score1 == cumulativesum:
sublist.append(element)
S.append(sublist)
sublist=[]
score1=0
else:
S.append(sublist)
sublist=[]
score1=0
基本上,對於列表L中的每個元素,您都會將元素添加到子列表,然後當您到達累積列表時,子列表將關閉並添加到S(列表中包含結果)。
'[2,1,2,1]'應該如何拆分? – unutbu