为了账号安全,请及时绑定邮箱和手机立即绑定

检查另一个字符串中是否存在多个字符串

检查另一个字符串中是否存在多个字符串

吃鸡游戏 2019-06-18 14:59:13
检查另一个字符串中是否存在多个字符串如何检查数组中的任何字符串是否存在于另一个字符串中?比如:a = ['a', 'b', 'c']str = "a123"if a in str:   print "some of the strings found in str"else:   print "no strings found in str"这段代码不起作用,只是为了展示我想要实现的目标。
查看完整描述

3 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

any()如果你想要的是TrueFalse,但是如果您想知道哪个字符串/字符串匹配,则可以使用以下几种方法。

如果你想要第一场比赛False(默认情况下):

match = next((x for x in a if x in str), False)

如果您想获得所有匹配(包括副本):

matches = [x for x in a if x in str]

如果您想获得所有不重复的匹配(不考虑订单):

matches = {x for x in a if x in str}

如果您想按正确的顺序获得所有不重复的匹配:

matches = []for x in a:
    if x in str and x not in matches:
        matches.append(x)


查看完整回答
反对 回复 2019-06-18
?
冉冉说

TA贡献1877条经验 获得超1个赞

如果字符串在astr变长了。直接解取O(S*(A^2),其中S的长度str中所有字符串的长度之和为A。a..要获得更快的解决方案,请查看阿霍-科拉西克在线性时间O(S+A)中运行的字符串匹配算法。


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 497 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信