首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用python 3.x查找单词中的重复字符

使用python 3.x查找单词中的重复字符
EN

Stack Overflow用户
提问于 2018-06-12 09:04:25
回答 1查看 45关注 0票数 -3

我正在尝试使用python3.x编写一段代码来查找单词中的重复字符。

例如,

代码语言:javascript
复制
"abcde" -> 0 # no characters repeats more than once
"aabbcde" -> 2 # 'a' and 'b'
"aabBcde" -> 2 # 'a' occurs twice and 'b' twice (bandB)
"indivisibility" -> 1 # 'i' occurs six times

这是我到目前为止的代码,

代码语言:javascript
复制
def duplicate_count(text):
    my_list=list(text)
    final=[]
    for i in my_list:
        if i in final:
            return(len(final[i]))


        else:
            return(0)

我想提高我的python技能,所以我想知道它出了什么问题以及为什么。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-12 09:20:46

我不明白你的代码应该做什么:你永远不会在final中放任何东西,然后立即return

下面的解决方案在迭代输入时保留了两个set。一个是我们见过的每个字符,另一个是出现多次的每个字符。我们使用sets,因为它们具有非常快速的成员资格检查,并且因为当您尝试向已经包含该项目的set添加项目时,不会发生任何反应:

代码语言:javascript
复制
def duplicate_count(text):
    seen = set()
    more_than_one = set()
    for letter in text:
        if letter in seen:
            more_than_one.add(letter)
        else:
            seen.add(letter)
    return len(more_than_one)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50807953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档