1、根据取值范围新建专用于计数的列表,并用count函数统计每个数字的重复数字。
lst = [20, 16, 3, 13, 14, 6, 6, 6, 17, 17]
count = [0] * 20
for i in lst:
if count[i-1] != 0:
continue
count[i-1] = lst.count(i)
for j in range(len(lst)):
print('nums:{:<2} dig:{}'.format(lst[j],count[j-1]))
2、根据取值范围新建专用于计数的列表,记录每个数字的重复数字。
lst = [20, 16, 3, 13, 14, 6, 6, 6, 17, 17]
count = [0] * 20
for i in lst:
count[i-1] += 1
for j in range(len(lst)):
print('nums:{:<2} dig:{}'.format(lst[j],count[j-1]))
1、利用fromkeys构建{keys:重复次数}的字典,利用字典keys不重复特性统计每个数字重复次数
lst = [20, 16, 3, 13, 14, 6, 6, 6, 17, 17]
dic = dict.fromkeys(lst,0)
for i in lst:
dic[i] += 1
for k,v in dic.items():
print('nums:{:<2} dig:{}'.format(k,v))
2、根据列表数字创建空列表,利用dict.get() / dict.setdefault()添加键值对,从而利用字典keys不重复特性统计每个数字重复次数。
lst = [20, 16, 3, 13, 14, 6, 6, 6, 17, 17]
dic = {}
for i in lst:
dic[i] = dic.get(i,0) + 1 #可替换为dic[i] = dic.setdefault(i,0) + 1
for k,v in dic.items():
print('nums:{:<2} dig:{}'.format(k,v))