3
我有一個數組ar = [2,2,2,1,1,2,2,3,3,3,3]
。 對於該陣列中,我想找到的連續相同數字的像的長度:如何在python中找到運行長度編碼
values: 2, 1, 2, 3
lengths: 3, 2, 2, 4
在R
,這是通過使用rle()
函數獲得。 python中是否有任何現有的函數提供所需的輸出?
我有一個數組ar = [2,2,2,1,1,2,2,3,3,3,3]
。 對於該陣列中,我想找到的連續相同數字的像的長度:如何在python中找到運行長度編碼
values: 2, 1, 2, 3
lengths: 3, 2, 2, 4
在R
,這是通過使用rle()
函數獲得。 python中是否有任何現有的函數提供所需的輸出?
您可以groupby
In [60]: from itertools import groupby
In [61]: ar = [2,2,2,1,1,2,2,3,3,3,3]
In [62]: print [(k, sum(1 for i in g)) for k,g in groupby(ar)]
[(2, 3), (1, 2), (2, 2), (3, 4)]
您可以使用計數器從集合做到這一點。 – Rahul
不完全是這樣,但您可以使用'itertools.groupby' –