我有一个包含0/1
个值的列表,即
MyList = [0,0,0,0,1,0,1,0,0,0,1,1,0]
我的目标是计算两个像(0,0) and (0,1)
这样的配对数量.
在上面的例子中,有5对(0,0)
(即第一、第二、第三和第八、第九位置),并且对于(0,1)
有3个这样的出现.
有什么函数/方法可以实现这一点吗?
我有一个包含0/1
个值的列表,即
MyList = [0,0,0,0,1,0,1,0,0,0,1,1,0]
我的目标是计算两个像(0,0) and (0,1)
这样的配对数量.
在上面的例子中,有5对(0,0)
(即第一、第二、第三和第八、第九位置),并且对于(0,1)
有3个这样的出现.
有什么函数/方法可以实现这一点吗?
使用collections.Counter
:
from collections import Counter
lst = [0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0]
c = Counter(zip(lst, lst[1:]))
print(f"{c[(0, 0)]=}")
print(f"{c[(0, 1)]=}")
打印:
c[(0, 0)]=5
c[(0, 1)]=3