我试图以最轻松的方式找出确定字符串是否有任何重复字符的最轻松的方法。我曾尝试搜索类似的问题,但找不到任何问题。它还需要尽可能缩短,因为我将检查相当多的字符串(我可以处理将其放入循环等)
例如:
a = "12348546478"
#code to check multiple characters
print(result)
结果:重复8次,重复4次
该代码将检查重复的字符并打印出重复的内容。我不需要知道它重复了多少次,只需要知道它是否重复了。
原文由 Armageddon80 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
collections.Counter
:或者您可以使用自定义函数:
或者在集合理解中使用
str.count
方法:所有方法的基准,它表明最后两种方式(自定义函数和集合理解比
Counter
快得多):结果 :
我也尝试了长字符串(
a = "12348546478"*10000
)并且仍然得到相同的结果:无论如何,我的建议是使用更 pythonic 的集合理解: