【发布时间】:2018-07-17 11:21:00
【问题描述】:
我有一个包含许多字符串的列表。有些字符串是重复的,所以我想计算它们重复了多少次。对于单数字符串,我只打印它,对于重复字符串,我想打印它的重复数。代码如下:
for string in list:
if list.count(string) > 1:
print(string+" appeared: ")
print(list.count(string))
elif list.count(string) == 1:
print(string)
但是它有一些问题,因为它正在打印重复字符串的所有实例。例如,如果列表中有两个“hello”字符串,它将打印hello appeared 2 两次。那么有没有办法跳过检查重复字符串的所有实例?感谢帮助。
【问题讨论】:
-
为此使用
collections.Counter。 -
旁注:永远不要在内置变量之后命名变量。使用
lst而不是list。