gpt4 book ai didi

python - 如何检查一个字符串中的字母是否以相同的顺序出现在另一个字符串中

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:35 24 4
gpt4 key购买 nike

我很想检查一个文本中的字母是否以相同的顺序出现在另一个文本中。

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

关于python - 如何检查一个字符串中的字母是否以相同的顺序出现在另一个字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47644693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com