如何将字符串列表中的反向字符串与python中的原始字符串列表进行比较?

苏曼·塞卡·萨兰吉

输入给定的字符串,并检查该字符串中是否有任何单词与其反向匹配,然后打印该单词,否则打印$

我将字符串拆分并将单词放入列表中,然后反转该列表中的单词。之后,我无法比较两个列表。

str = input()
x = str.split()
for i in x: # printing i shows the words in the list
    str1 = i[::-1] # printing str1 shows the reverse of words in a new list
    # now how to check if any word of the new list matches to any word of the old list 
    if(i==str):
        print(i)
        break
    else:
        print('$)

输入:suman is a si boy

输出:(is由于在同一字符串中存在“ is”的反向字符)

NS0

您几乎拥有了它,只需要添加另一个循环就可以将每个单词与每个反向单词进行比较。尝试使用以下内容

str = input()
x = str.split()
for i in x:
    str1 = i[::-1]
    for j in x: # <-- this is the new nested loop you are missing
        if j == str1: # compare each inverted word against each regular word
            if len(str1) > 1: # Potential condition if you would like to not include single letter words
                print(i)

更新资料

要仅打印第一次出现的匹配项,可以在第二个循环中仅检查后面的元素。我们可以通过跟踪索引来做到这一点:

str = input()
x = str.split()
for index, i in enumerate(x):
    str1 = i[::-1]
    for j in x[index+1:]: # <-- only consider words that are ahead
        if j == str1: 
            if len(str1) > 1: 
                print(i)

请注意,我使用index+1该命令是为了不考虑单个单词回文匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章