如何解决我有多个字符串的列表,我想在字符串的子字符串中搜索一些模式并在 python 中打印下一行模式
首先从列表中,我必须检查包含 start 和 end 关键字的所有值。如果该值包含开始/结束,则应在这些值的行之间打印。
输入:
list1 = ['started','1','asd','ending of the word/n','aaaa','startin','answer','fruit','123','ending']
预期输出:
['1',asd]
['answer','123']
for x in list1:
if start in x:
substring1 = x
if end in x:
substring2 = x
在此之后,我需要打印 substring1 和 substring2 变量之间的值。我不知道如何进一步。我也是python的新手。有人可以帮我解决这个问题。提前致谢。
解决方法
list1 = ['started','1','asd','ending of the word/n','aaaa','startin','answer','fruit','123','ending']
index_start = 0
for i in range(len(list1)):
if 'start' in list1[i]:
index_start = i
if 'end' in list1[i]:
print(list1[index_start+1:i])
在 i in range()
循环中使用 for
更合适,这样您就可以获得模式开始/结束位置的索引。然后只需在找到“开始”时存储 start_index
,并在找到“结束”子字符串时打印其间的所有内容。
当然,您需要添加一些条件以确保在结束之前有一个开始。
输出:
['1','asd']
['answer','123']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。