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

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

如何检查数组中的任何字符串是否存在于另一个字符串中?

比如:

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"

这段代码不起作用,只是为了展示我想要实现的目标。


吃鸡游戏
浏览 499回答 3
3回答

白板的微信

any()如果你想要的是True或False,但是如果您想知道哪个字符串/字符串匹配,则可以使用以下几种方法。如果你想要第一场比赛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)

冉冉说

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

相关分类

Python