我有一个元素数组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 outprint(times_so_far(x))
2 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
如果您更喜欢使用自己的函数,可以尝试以下操作:
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
添加回答
举报
0/150
提交
取消