В предыдущем посте поиск шаблонов в большой группе чисел дает представление о том, как найти определенный шаблон номера в списке или массиве.В котором используется конкретный шаблон.
В этом посте я хотел бы разработать одну функцию для принятия любого предопределенного шаблона для поиска в одном существующем списке, в котором я буду динамически создавать одну строку в соответствии свведите конкретный шаблон для поиска ...
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]
Любые вопросы, касающиеся моих кодов, пожалуйста, не стесняйтесь покидатькомментарии.