我有一个字符串列表,想要计算列表中每个字符串的提及次数,然后对它们进行格式化。
我设法使用此代码以所需的格式打印出列表:
def top10(items):
return Counter(items).most_common(10)
for key, val in top10(items):
print(key, '=', val)
但是现在很难将其嵌入到top10函数中。
我已经尝试了一些方法,这是唯一打印任何结果的方法:
def top10(items):
for key, val in Counter(items).most_common(10):
return(key, '=', val)
print(top10(items))
它只打印最常见的字符串,并以错误的方式设置格式,因此字面上是这样的:(键,“ =”,val)。
任何帮助将不胜感激!
答案 0 :(得分:0)
不返回该值:而是在打印的代码行中使用它。并在功能上进行打印。这是一种方法:
from collections import Counter
def top10(items):
for key, val in Counter(items).most_common(10):
print(key, '=', val)
top10([1,2,1,3,1,4,1,5,5,6,1,7, 8, 9, 10, 11, 12, 13])
打印出来的是
1 = 5
5 = 2
2 = 1
3 = 1
4 = 1
6 = 1
7 = 1
8 = 1
9 = 1
10 = 1
答案 1 :(得分:0)
可能是您打算做的
def top10(items):
for key, val in top10(items):
print(key, '=', val)
return Counter(items).most_common(10)
top10(items)
但是为什么要在要返回前10个项目的函数中打印值。这样,您的函数始终在调用时打印计数器。您需要使自己的功能尽可能地小,并且只做一件事。因此,我建议您遵循接近您上一个解决方案的地方
def print_top(items):
for key, val in Counter(items).most_common(10):
return(key, '=', val)
print_top(top10(items)):