Я пытаюсь создать функцию, которая будет создавать список на основе шаблона в зависимости от длины другого списка. Я не уверен, как это сделать из-за характера шаблона. Я пытаюсь сделать что-то подобное, что будет вести себя как:Использование шаблона для создания списка
len(a_list) = 50
created_pattern_a_list = [1,2,4,8,10,20,40]
len(b_list) = 9000
created_patten_b_list = [1,2,4,8,10,20,40,80,100,200,400,800,1000,2000,4000,8000]
Так шаблон я хочу 1,2,4,8,10, ... .so это экспоненциальная, но только до него на следующая мощность 10, затем она начинается с этой мощности 10. Я не уверен, как сделать функцию, которая могла бы это сделать. Что-то вроде:
def create_patten_list(a_list):
reff_list = [1,2,4,8,10,20,40,80,100,200,400,800,1000,2000,4000,8000,10000]
corr_list = [a for a in reff_list if a <= len(a_list)]
return corr_list
Но длина a_list может быть гораздо больше, чем 10000, так что я не могу просто использовать список по умолчанию установленной длины, как это. Есть ли лучший способ установить такой шаблон?