查找字符串中的第一个重复字母及其重复次数

时间:2019-01-23 13:59:36

标签: python string

我有以下字符串:“ WPCOPEO”,我需要找到第一个重复的字母及其重复的时间。我希望在编码方面有所帮助。

string = "WPCOPEO"
def is_repeated(letter):
    for letter in String:
        if letter == letter
            print (letter)

4 个答案:

答案 0 :(得分:1)

想起来很简单

检查元素是否存在于集合中,否则插入集合

>>> s=set()
>>> for i in string:
...     if i in s:
...             c=i
...             break
...     else:
...             s.add(i)
... 
>>> c
'P'
>>> string.count(c)
2

答案 1 :(得分:0)

使用列表理解功能获取信息的一种方法如下:

word = "WPCOPEO"

print (next([letter, word.count(letter)] for pos, letter in enumerate(word) if letter in word[pos+1:]))

使用循环:

for pos, letter in enumerate(word):
    if letter in word[pos+1:]:
        print (letter, word.count(letter))
        break

答案 2 :(得分:0)

您可以通过首先存储每个字母的初始出现频率及其频率来找到外观。

first

接下来,您可以将其转换为(外观,字母频率)列表。

{'O': [3, 2], 'E': [4, 1], 'P': [1, 2], 'W': [0, 1], 'C': [2, 1]}

然后,您可以按频率和外观排序并获取第一项。

[[0, 'W', 1], [1, 'P', 2], [2, 'C', 1], [3, 'O', 2], [4, 'E', 1]]

示例

[[1, 'P', 2], [3, 'O', 2], [0, 'W', 1], [2, 'C', 1], [4, 'E', 1]]

输出:

  

字母P出现2次。

答案 3 :(得分:0)

def is_repeated(string):
    for i in range(1,len(string)):
        check=string[0]
        if check == string[i]:
            print("This character is frequent:",string[i])

string = "WPCOPEO"
is_repeated(string)