我有一系列导管角色
x = ['ca','bd','lo',...]
我想找到每种导管的频率。
基本上是这样的列表
y = [[2,'ca'],[0,'bd'],[10,'lo'],...]
在python中有一个简单的方法吗?
谢谢!
答案 0 :(得分:0)
您可以使用Counter
:
from collections import Counter
x = ['ca','bd','lo']
Counter(x)
# Counter({'bd': 1, 'lo': 1, 'ca': 1})
Counter(x).items()
# [('bd', 1), ('lo', 1), ('ca', 1)]
无需预先定义任何类别。如果您尝试获取原始列表中不存在的类别,counter
只会返回0:
count = Counter(x)
count['not_here']
# 0
答案 1 :(得分:0)
如果您想list
lists
,可以使用list-comprehesion
,如下所示:
x = ['ca','bd','lo']
y = [[x.count(z), z] for z in set(x)]
这将输出:
[[1, 'bd'], [1, 'lo'], [1, 'ca']]