我很想检查文本中的字母是否以相同的顺序出现在另一文本中。
text "Ce"
name "Arsenic"
Answer False
for x in text:
if x.lower() not in name.lower():
return False
我希望也检查顺序,以便元素在另一个字符串中以相同的顺序出现:True else False。
目前,我的代码仅检查字母是否也出现在字符串中,但不检查它们是否处于相同的顺序。
我假设你的“按顺序”意味着字符按顺序匹配。在您的示例中,文本“Ce”名称 Arsenic 应返回 False,如果文本为“eC”,则应返回 True。
首先我们检查所有字符是否都在匹配文本中,如果是,我们进一步检查匹配索引是否有序,否则我们只返回 False
def check_text(text, name):
name_lower = name.lower()
if all(x in name_lower for x in text.lower()):
char_index = [name_lower.index(x) for x in text.lower()]
return char_index == sorted(char_index)
else:
return False
>>> check_text("Ce", "Arsenic")
False
>>> check_text("eC", "Arsenic")
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)