gpt4 book ai didi

python - 从匹配索引开始循环多次遍历列表

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:42 33 4
gpt4 key购买 nike

我需要在 python 中执行以下操作。我有一个字符串列表 list、要搜索的字符串 text 和包含要打印的元素数的变量 x。我想遍历 x 否。 list 的连续元素,必要时环绕到 list 的前面。

首先,我需要在 list 中找到第一个以 text 作为子字符串的元素。然后,我将从 list 的第一个元素 after 匹配的元素开始,并继续遍历 x 连续元素code>list,必要时环绕。

我该怎么做?

x = 11
text = "string5"
list = ["string1", "string2", "string3", "string4", "string5", "string6", "string7"]

# not sure what to do here...
for elem in list:
if text in elem:
#iterate through list, begin with elem and get the next 11 elements
#once you've reached string7, start over with string1`

在这个例子中,我想最终查看以下 11 个元素:

string6
string7
string1
string2
string3
string4
string5
string6
string7
string1
string2

最佳答案

您可以使用 cycle from itertools , 可能与 islice 结合使用和 enumerate .

from itertools import cycle, islice

x = 11
text = "string5"
lst = ["string1", "string2", "string3", "string4", "string5", "string6", "string7"]
for i, elem in enumerate(lst):
if text in elem:
next11 = list(islice(cycle(lst), i+1, i+1+x))
print(next11)
print(len(next11))

输出:

['string6', 'string7', 'string1', 'string2', 'string3', 'string4', 'string5', 'string6', 'string7', 'string1', 'string2']
11

关于python - 从匹配索引开始循环多次遍历列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27593194/

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