如何计算值在数组python中连续出现的次数?

我有一个元素数组x=[9,2,2,2,2,3,4,4,55,55,6,2,2,2,7,0,0],我想知道一个值在这个数组中连续显示了多少次,使用 python 语言。预期的结果应该是:a=[1,4,1,2,2,1,3,1,2]


下面的代码显示了 x 中的重复数字


x=[9,2,2,2,2,3,4,4,55,55,6,2,2,2,7,0,0]

def times_so_far(ls):

    out = [0]*len(ls)

    for i in range(len(ls)):

        out[i] = ls[:i].count(ls[i]) 

    return out

print(times_so_far(x))


婷婷同学_
浏览 320回答 2
2回答

神不在的星期二

如果您更喜欢使用自己的函数,可以尝试以下操作:def count_sequential(ls):    counts = []    i = 1    last_val = ls[0]    for j in ls[1:]:        if j != last_val:            counts.append(i)            last_val = j            i = 1        else:            i += 1    counts.append(i)    return counts
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python