[0, 100, 7 27岁 34, 40岁 41, 48, 58 65岁 75, 78, 79, 96, 126, 127, 0, 0, 2, 45 54 56 57, 59, 66, 67, 82, 86, 102, 124, 133, 0, 0, 35岁 39, 52, 53 60 61, 80 81, 83, 87, 97, 98, 101, 109, 0, 0, 15 28, 29, 30岁 31, 32, 33, 37, 38, 49, 50 51, 71, 95, 0, 0, 3, 16 22 23 44 72, 73, 74, 90, 110, 131, 0, 0, 10 11 18岁 19 36岁 55岁 89, 93, 94, 108, 113, 114, 0, 0, 1, 5 6, 9, 12 17 24 43 64, 77, 85, 88, 91, 92, 111, 112, 130, 0, 0, 13 20 42 62, 68, 84, 99, 104, 116, 119, 125, 128, 129, 132, 0, 0, 8, 14 26, 63, 69, 70 103, 105, 123, 0, 0, 4, 21岁 25岁 46, 47, 106, 107, 115, 117, 118, 120 121, 122, 0, 0, 76, 0]
我有这个值列表,我想在每两个零之间进行分割。
所以我的列表如下:
[0,100,7,27,34,40,41,48,58,65,75,78,79,96,126,127,0],[0,2,45,54,56, 57,59,66,67,82,86,102,124,133,0],[0,35,39,52,53,60,61,80,81,83,87,97,98,101, 109,0],[0,15,28,29,30,31,32,33,37,38,49,50,51,71,95,0],[0,3,16,22,23, 44,72,73,74,90,110,131,0] [0,10,11,18,19,36,55,89,93,94,108,113,114,0],[0,1 ,5、6、9、12、17、24、43、64、77、85、88、91、92、111、112、130、0],[0、13、20、42、62、68、84 ,99,104,116,119,125,128,129,132,0],[0,8,14,26,63,69,70,103,105,123,0],[0,4,21 ,25、46、47、106、107、115、117、118、120、121、122、0] [0、76、0]
有人可以帮我吗?
答案 0 :(得分:1)
您可以使用带有内置函数for
的简单zip
循环:
# l is your list
result = [[l[0]]]
for i, j in zip(l[1:], l):
if i == 0 == j:
result.append([i])
else:
result[-1].append(i)
result
输出:
[[0, 100, 7, 27, 34, 40, 41, 48, 58, 65, 75, 78, 79, 96, 126, 127, 0],
[0, 2, 45, 54, 56, 57, 59, 66, 67, 82, 86, 102, 124, 133, 0],
[0, 35, 39, 52, 53, 60, 61, 80, 81, 83, 87, 97, 98, 101, 109, 0],
[0, 15, 28, 29, 30, 31, 32, 33, 37, 38, 49, 50, 51, 71, 95, 0],
[0, 3, 16, 22, 23, 44, 72, 73, 74, 90, 110, 131, 0],
[0, 10, 11, 18, 19, 36, 55, 89, 93, 94, 108, 113, 114, 0],
[0, 1, 5, 6, 9, 12, 17, 24, 43, 64, 77, 85, 88, 91, 92, 111, 112, 130, 0],
[0, 13, 20, 42, 62, 68, 84, 99, 104, 116, 119, 125, 128, 129, 132, 0],
[0, 8, 14, 26, 63, 69, 70, 103, 105, 123, 0],
[0, 4, 21, 25, 46, 47, 106, 107, 115, 117, 118, 120, 121, 122, 0],
[0, 76, 0]]
答案 1 :(得分:0)
我认为最简单的方法是这样做:
outputList=[]
start = 0
for i in range(len(myList) - 1):
curr = myList[i]
next = myList[i+1]
if curr == 0 and next == 0:
outputList.append(myList[start:i+1]
start = i+1
我认为那样就可以了,如果可行的话,让我现在! :D