python - 如何遍历字符串并找到重复的值
问题描述
我的问题是,我似乎无法找到正确的方法来遍历 subject2 并挑选出重复的字符串。下面是我的方法:
nosubjects = []
subjects2 = ["hi","hi","bi","ki","si","bi","li"]
for i in subjects2:
if subjects2.count(i)==2:
nosubjects.extend(i)
print(nosubjects)
但是当我打印出来时,它看起来像这样:
['hi','hi']
['h', 'i', 'h', 'i','b', 'i']
['hi', 'i', 'h', 'i', 'b', 'i', 'b', 'i']
请帮忙谢谢!
解决方案
用于collections.Counter
获取每个元素的计数并仅取那些计数超过 1 的元素:
from collections import Counter
subjects2 = ['hi', 'hi', 'bi', 'ki', 'si', 'bi', 'li']
nosubjects = [x for x, i in Counter(subjects2).items() if i > 1]
print(nosubjects)
# ['hi', 'bi']
推荐阅读
- html - 无法居中 CSS
- bash - 转储(gdb)非法块大小数
- c++ - `CommandLineToArgvW` 得到错误的 argv
- c - C语言中使用变量和使用直接数的区别
- python - aiohttp - 读取 Header 值太长时获得超过 8190 字节 (xxxx)
- arrays - 从工作表创建数组并使用 For Each 循环
- docker - 如何在 ubuntu 中使用 fscrawler?
- r - group_by(月和年)和 summarise_if 不会留下单个月的平均值
- r - gt表R正文中的下标和上标
- swift - 关于 CSSearchQuery 和 Spotlight 的问题