计算字符串在其相反位置出现的次数

2024-10-03 02:45:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找出一种方法,你可以计算出一个字母出现在完全相反位置的次数。例如:

word='ABXCEEVHBA'->;正确的输出给我3,因为A是第一个也是最后一个。B是倒数第二,倒数第二,依此类推

我已经找到了一个能给出正确结果的答案,但我想知道是否有一种更优雅的方法可以在没有模块的情况下做到这一点

word = 'ABXCEEVHBA'
reverse = ''.join(reversed(word))

sum =0
for i in range(len(word)):
    if word[i]==reverse[i]:
        sum+=1

print(int(sum/2))


Tags: 模块方法答案gtfor字母情况次数
2条回答

您可以通过将字符串与字符串本身的倒数组合来使用zip:

sum(a==b for a,b in zip(word,reversed(word)))//2

相信这会成功:

>>> count = 0
>>> for i in range(len(word)//2):  # meet half-way.
    if word[i] == word[~i]:
        count += 1

        
>>> count
3

相关问题 更多 >