我有一个清单input
:
[1, 2, 4, 3, 5, 7, 5, 3, 8, 3, 8, 5, 8, 5, 9, 5, 7, 5, 7, 4, 9, 7, 5, 7, 4, 7, 4, 7, 8, 9, 7, 5, 7, 5, 4, 9, 3, 4, 8, 4, 8, 5, 3, 5, 4, 7, 3, 7, 3, 1, 2, 7, 1, 7, 2, 1]
我需要检查alookup_list
{
这将说明我想说的:
“强<<<强>1<<强<<强<<强>1<强<<强<<强<<强<<强>1<强<<强>3<强<<强>3<强<<强<<强<<强<<强<<强<<强<<强<<强>1<强<<强<<强<<强>1<强<<强<<强>3<强<<强<<强<<强<<强>3<强<<强<<强<<强<<强>3<强<<强<<强>3<强<<强>3<强<<强<<强<<强<<强>3<强<<强<<强<<强<<强>3<强<<强<<强>3<强<<强<<强<<强<<强>3<强<<强<<强<<强<<强>3<强<<强<<强<<强<<强<<强<4,9,3,4,8,4,8,5,3,5,4,7,3,7,3,1,2,7,1,7,2,1]
粗体数字是lookup_list
列表中相同顺序中出现的lookup_list
中的数字,但中间还有其他不相关的项目
我能查一下这个吗
这是我尝试过的方法:
count = 0
a = 0
indices = []
for item in list:
idx = -1
if count < len(input_list):
idx = list.index(input_list[count])
if idx != -1:
a = a +len(list[:idx])
list = list[idx:]
indices.append(a + idx)
count = count +1
print(indices)
但它给了我以下结果:
[0, 2, 5, 35, 25, 24, 33, 30, 33, 37, 38, 64, 54]
问题是,在这个方法中lookup_list
的顺序没有得到维护
check_exists()函数将接受完整列表和查找列表作为参数,如果序列存在,则返回True;如果序列不存在,则返回false
以下是完整的程序-
您可以在输入列表上使用迭代器。调用
next
获取每个值。如果在没有找到所有匹配项的情况下耗尽迭代器,将得到一个StopIteration
,然后返回False
最简单的方法是将第一个列表(不要称之为
input
!)转换为字符串(尖括号将多个数字“放在一起”):将第二个列表转换为正则表达式,该正则表达式允许在所需项之间添加可选的附加项:
现在,检查输入字符串是否与正则表达式匹配:
相关问题 更多 >
编程相关推荐