在列表中对负数和正数进行分组

青葱年少 python 431

原文标题Grouping negative and positive counts in a list

我有一个包含正数、负数和零数的数字列表。我的目标是计算一组正相邻数,如果存在则包括零。并对负数做同样的事情。

这是一个例子。

 a = [0-1,-2,-3,4,5,-6,-7,-8,-9,10,0,11,10,-1,-2,0]


a_arr = np.array(a)
    
sign = np.sign(a_arr)

sign

array([-1, -1, -1,  1,  1, -1, -1, -1, -1,  1,  0,  1,  1, -1, -1,  0])

预期结果

[3(负),2(正),4(负),4(正含零),3(负含零)]

到目前为止,我尝试了以下代码:

 count_p  = 0 
 count_n  = 0

for val in a:

 if val == 0 or val>0:
    
    count_p = count_p + 1
    
    print(count_p)
    
else:
    
    count_n = count_n + 1

原文链接:https://stackoverflow.com//questions/71599622/grouping-negative-and-positive-counts-in-a-list

回复

我来回复
  • Tasnim013的头像
    Tasnim013 评论

    a = [0,-1,-2,-3,4,5,-6,-7,-8,-9,10,0,11,10,-1,-2,0]

    位置=0

    否定=0

    对于 A 中的 A:

    if A<0:
        neg+=1
    else:
        pos+=1
    

    打印(正,负)

    2年前 0条评论