Python:计算字符串频率列表类型

时间:2017-10-20 13:12:24

标签: python

我正在使用python来计算列表 WITHOUT 的频率,使用任何集合只是我自己的python基础函数。 我的代码是:

my_list = ['a', 'b','a', 'a','b','b', 'a','a','c']

def counting(): 
#Please help

打印输出应该像

a: 5
b: 3
c: 1

请帮助谢谢。

2 个答案:

答案 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))