我正在使用python来计算列表 WITHOUT 的频率,使用任何集合只是我自己的python基础函数。 我的代码是:
my_list = ['a', 'b','a', 'a','b','b', 'a','a','c']
def counting():
#Please help
打印输出应该像
a: 5
b: 3
c: 1
请帮助谢谢。
答案 0 :(得分:1)
使用内置count
功能的list
。
def counting(my_list):
return { x:my_list.count(x) for x in my_list }
请致电:
>>> counting(my_list)
=> {'a': 5, 'b': 3, 'c': 1}
#print it as per requirement
>>> for k,v in counting(my_list).items():
print(k,':',v)
a : 5
b : 3
c : 1
#driver value:
IN : my_list = ['a', 'b','a', 'a','b','b', 'a','a','c']
答案 1 :(得分:1)
创建一个字典来保存结果,并检查键是否存在增加值,否则设置值1(第一次出现)。
my_list = ['a', 'b','a', 'a','b','b', 'a','a','c']
def counting(my_list):
counted = {}
for item in my_list:
if item in counted:
counted[item] += 1
else:
counted[item] = 1
return counted
print(counting(my_list))