为什么这两个字符串不匹配

时间:2017-06-12 14:00:52

标签: python

if __name__ == '__main__':

    str1 = str('exon_PF3DZ_0100100'.split())
    str2 = str('exon_PF3D7_0100100'.split())

    if str1 == str2:
        print 'True'
    else: print 'False'

然后在比较字符串后创建一个新变量来存储结果     结果=''

之后尝试使用for循环来比较字符串

for letter in str1:
 for letter in str2:
    if letter(str1) != letter(str2):
        result = result + letter
        print (result)

由于某种原因,此代码返回 回溯(最近一次调用最后一次):

if letter(str1) != letter(str2):
  

TypeError:' str'对象不可调用

我不明白为什么这两个字符串不匹配?

1 个答案:

答案 0 :(得分:1)

在循环中,变量letter字符串,包含当前字符。这是你的错误的原因(字符串不是函数,不能这样调用)。

对两个循环也使用相同的变量名,内循环从外循环覆盖letter的内容。您需要使用两个不同的变量。那你然后直接比较。像:

for letter1 in str1:
    for letter2 in str2:
        if letter1 == letter2:
            # Do something here ...