示例数组
temp = ['A', 'B', 'A', 'B', 'A', 'B']
计数输出数组
['A_1', 'B_1', 'A_2', 'B_2', 'A_3', 'B_3']
通过defaultdict计数
defaultdict()
在dict()
的基础上添加了一个missing(key)
的方法,在调用一个不存在的key
的时候,defaultdict
函数会调用“missing”,返回一个int,set,list,dict
对应的默认数值,不会出现keyerror的情况。
from collections import defaultdict L = ['A', 'B', 'A', 'B', 'A', 'B'] dd = defaultdict(int) res = [] for item in L: dd[item] += 1 res.append(f'{item}_{dd[item]}') print(res) ['A_1', 'B_1', 'A_2', 'B_2', 'A_3', 'B_3']
通过Counter计数
Counter(计数器)是对字典的补充,用于追踪值的出现次数。
Counter是一个继承了字典的类(Counter(dict))
>>> from collections import Counter >>> >>> temp = ['A', 'B', 'A', 'B', 'A', 'B'] >>> seen = Counter() >>> >>> result = [] >>> for c in temp: ...: seen.update(c) ...: result.append('{}_{}'.format(c, seen[c])) ...: >>> result >>> ['A_1', 'B_1', 'A_2', 'B_2', 'A_3', 'B_3']