检查字符串中的字母是否在另一个字符串中的相同位置(python)

2024-04-29 02:51:33 发布

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

我有六个字:

words = ['alone', 'algae', 'caper', 'plane', 'flyer', 'tooth']

我想检查一个单词中的一个字母是否和其他单词在同一个位置。例如,“a”是单独中的第一个字母,是藻类中的第一个字母,所以应该是匹配的。然而,“e”在平面上是第五个字母,在传单上是第四个字母,所以这不匹配。然后我想计算一下我总共有多少场比赛。你知道吗

有没有比遍历每个单词中的每个字母并检查该字母在另一个单词中是否出现在同一位置更好的方法呢?我目前有以下代码:

match_cnt = 0
for i in words:
    for index, j in enumerate(i):
        for k in range(len(words)):
            if j == words[i][index]:
                match_cnt += 1 

Tags: inforindexmatch字母单词wordscnt
1条回答
网友
1楼 · 发布于 2024-04-29 02:51:33

如果你的单词长度相同,你可以用zip。我的无索引单行解决方案:

match_cnt = sum(sum(1 for x in e if e.count(x)>1)for e in zip(*words))

它将对同一索引中至少出现两次的所有字符进行计数。你知道吗

相关问题 更多 >