如何比较字符串中的字符

时间:2019-10-01 19:09:28

标签: python python-3.x string string-comparison

我是一个初学者,我有一个问题。有可能比较字符串中的字符吗?

我做了一个功能:

def animal_crackers(text):
    text1 = text.split()
    a = ''
    count = 0
    for a in text1:
        for char in enumerate(a):
            if char[0] == char[1]:
                return True
            else:
                return False

结果:

>>> animal_crackers('Spam Spam')
>>> False

逻辑是我试图拆分由两个单词组成的字符串。然后,我用第一个“ for”循环设置这些单词,然后尝试使用第二个和“ enumerate(a)中的字符”进入字符串。

如果两个单词都以相同的字母开头,则应返回True。

这基本上是行不通的,所以我想知道。您能给我一个建议而不准备好的代码吗?或者也许你可以告诉我哪里出了错。

4 个答案:

答案 0 :(得分:1)

您还可以查看琴弦的Levensthein距离。这确实很基础,但是对于初学者来说是一个很好的教训,也是比较版式的一种合理方法。

答案 1 :(得分:0)

虽然字符串与列表不同,但是可以像列表一样访问它们的元素。

salami = 'Salami'
spam = 'Spam'
cheese = 'Cheese'

salami[0] == spam[0] # True
salami[0] == cheese[0] # False

答案 2 :(得分:0)

这可能是您需要的:

def animal_crackers(text):
    text1 = text.split()
    for i in range(len(text1)-1):
        if text1[i][0] == text1[i+1][0]:
             print(True)
        else:
            print(False)
    return

答案 3 :(得分:0)

我可以看到错误在哪里,它在“枚举(a)”处。当您使用枚举时,它将返回一对,就像第一次迭代一样,它将给出(0, 'S')char[0] = 0char[1]='S',因此char[0] == char[1]False,它们是不同的数据类型。而是尝试像列表一样建立索引,因为text1.split()将返回列表。希望对您有所帮助。