【python】判断一个字符串是否包含重复字符?

Python018

【python】判断一个字符串是否包含重复字符?,第1张

题目:判断一个字符串是否包含重复字符。例如good则包含,abc则不包含。

分析:哈希法。

code:

(1)

strs = 'Good'

hashTable = dict()

listStrs = list(strs)

i = 0

while i <len(strs):

    if listStrs[i] in hashTable:

        print("有重复字符")

        break

    else:

        hashTable[listStrs[i]] = None

    i += 1

    if i >= len(strs):

        print("没用重复字符")

        break

程序运行结果:

有重复字符

(2)

def longest_repetition(chars):

    if len(chars) is None or len(chars) <= 1:

        return (chars, len(chars))

    result = [1] * len(chars)

    for left in range(len(chars) - 1):

        for right in range(left + 1, len(chars)):

            if chars[left] == chars[right]:

                print("a")

                result[left] += 1

            else:

                print("aa")

                break

    #return result

    return (chars[result.index(max(result))], max(result))

if __name__ == "__main__":

    txt = 'banaaana'

    print(longest_repetition(txt))

Python中的数据类型有数字、字符串,列表、元组、字典、集合等。有两种方法判断一个变量的数据类型。两种方法:

第一种方法:

第二种方法:

1.格式

endswith(suffix,beg=0,end=len(string))

2、用途:endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 "start" 与 "end" 为检索字符串的开始与结束位置。

3、实例:

str_ewth="my name is zhangsan!!"

print(str_ewth.endswith("!!"))#判断结束字符是否为!!True

print(str_ewth.endswith("nam",3,6))#"nam"是不是从第1个到第6个字符的最后一个字符True

print(str_ewth.endswith("me",4,6))#”m"是从第4个到第5个字符的最后一个。

#True, True, False