微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将字符串与字符序列进行比较

如何解决将字符串与字符序列进行比较

我有以下字符串

"long"

我有一个 chars 数组,其中包含序列 [...,[l],[o],[n],[g],...]。有人可以帮我找到一种方法stringchars 的数组进行比较并返回 TrueFalse 而不必将数组加入一个 {{1} }?

谢谢!

解决方法

你可以这样做:

s = 'long'
lst = [['a'],['l'],['o'],['n'],['g'],['z']]

p = [[x] for x in s]
any([p==lst[i:i+len(p)] for i in range(0,len(lst)-len(p))])

Out[81]: True

评论中的问题:“如何获取第一场比赛的索引?”

[j for j,i in enumerate(range(0,len(lst)-len(p))) if p==lst[i:i+len(p)]][0]

Out[83]: 1
,

我不会说你应该这样做,但你当然可以。

z = "long"
a = [letter for letter in z]
b = ['l',' ','x',4,'l','o','n','g',5]
for i,j in enumerate(b):
    if a == b[i:i+len(a)]:
        print('"{}" found at index {}'.format(z,i))

实际上,我们分解字符串,然后创建列表切片以与分解的字符串进行比较。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。