gpt4 book ai didi

python - 如何在 Python 中查找同一个单词中重复的字母?

转载 作者:行者123 更新时间:2023-11-28 22:12:11 25 4
gpt4 key购买 nike

我正在尝试解决 challenge用于在给定字符串中查找某种模式。我想到的第一个想法是遍历字符并找到模式。

(“压力大”的主题行表示所有字母均为大写,和/或以至少 3 个感叹号结尾,和/或至少包含以下“红色”字词之一:“帮助”、“尽快”、“紧急”。任何这些“红色”单词都可以用不同的方式拼写 - “HELP”、“help”、“HeLp”、“H!E!L!P!”、“H-E-L-P”,即使是在很长的方式“HHHEEEEEEEEEELLP”)

有人为此提交了以下代码,但我不明白发生了什么。这是如何工作的?

return (subj.isupper() or
subj.endswith('!!!') or
any(re.search('+[.!-]*'.join(c for c in word), subj.lower())
for word in ['help', 'asap', 'urgent']))

最佳答案

此代码只是检查是否满足 3 个条件中的任何一个,

  • 如果每个字符都是大写,第一个 sub.isupper() 返回 True

  • 第二个subj.endswith('!!!') 检查单词是否以!!!

  • 结尾
  • 第三种是使用正则表达式匹配红色词,方法any判断是否匹配到任何红色词

部分

对于每个红色词(for word in ['help', 'asap', 'urgent']),该词被转换为小写并用于生成正则表达式。

正则表达式部分

例如 '+[.!-]*'.join(c for c in 'help') 给出 h+[.!-]*e+[.!-]* l+[.!-]*p 检查单词的每个字母,根据需要重复多次,所有字母由 ., !- 任意多次。

任何部分

最后,如果生成器的任何一个 bool 为 True,则 any 返回 True。因此,如果正则表达式匹配任何红色单词。

关于python - 如何在 Python 中查找同一个单词中重复的字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55160536/

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