根据Python中的重复值分组数组值



我创建了一个数组,其值如下

size=[9, 41, 1368, 887, 307, 9, 114, 81, 9, 34, 12, 13, 12, 4, 548, 3, 77] 

我需要把这些值分组,保持一个常量= 9

需要的示例输出

组1

b=41
c=1368,887,307

组2

b=114
c=81

第三组

b=34
c=12,13,12,4,548,3,77

我不知道如何实现这一点,我已经尝试了以下代码。

for i in range(0,len(size)):    
if size[i-1]!=9:
if(size[0]-size[i])!=0:
print(size[i])

您必须扫描这些9值的输入,每次遇到它时,启动一个新列表来收集其他值。

一旦你有了这些子列表,你就可以迭代它们并报告它们的bc部分:

size = [9, 41, 1368, 887, 307, 9, 114, 81, 9, 34, 
12, 13, 12, 4, 548, 3, 77] 
# Spread data into sub lists, separated by 9-values
result = [[]]
for val in size:
if val == 9:
result.append([])  # Start a new sub list
else:
result[-1].append(val)  # Append to last sub list
# Remove empty sublists
result = [lst for lst in result if lst]
# Output in terms of b and c:
for b, *c in result:
print("b=", b)
print("c=", c)

最新更新