在上一篇文章finding patterns within a large group of number中,给出了有关如何在列表或数组中查找特定数字模式的想法。在其中使用特定模式。
在我的这篇文章中,我想开发一个函数来接受要在一个现有列表中搜索的任何预定义模式,在该列表中,我将根据要搜索的输入特定模式动态构造一个字符串...
>def get_sequence_location(arr,seq):
loc=[]
offset_len=len(seq)-1
eval_str="(arr[i]"
for ilen in range(offset_len):
eval_str=eval_str+ ",arr[i+"+str(ilen+1)+"]"
eval_str=eval_str+")"
for i in range(len(arr) - offset_len):
if eval(eval_str) == seq:
loc.append(i)
return loc
在代码中,输入描述如下。
# input:
# arr: a list of number sequences which may includes the specified sequence
# seq: number sequence to be identified in arr, format (3,2,1)
# Application example:
# myloc=get_sequence_location([1,2,1,0,5,6,1,0,3,4],(1,0))
# will return [2,6]
# or
# myloc=get_sequence_location([1,2,1,0,5,6,1,0,3,4],(1,0,5))
# will return [2]
任何有关我的代码的问题,请随时发表评论。