Как ускорить перебор строк?
Как ускорить перебор строк по началу в списке?
data = [str(x) for x in range(1000000)]
string = "145723"
for i in data:
if i.startswith(string):
...
Какой алгоритм может ускорить этот процесс? (без нумбы)
Ответы (1 шт):
Автор решения: Stanislav Volodarskiy
→ Ссылка
Не надо перебирать лишние элементы и не надо перебирать строки:
def numbers(n, m):
k = 1
while m < n:
yield from range(m, m + k)
m *= 10
k *= 10
for i in numbers(10000000, 145723):
print(i)
$ python numbers.py 145723 1457230 1457231 1457232 1457233 1457234 1457235 1457236 1457237 1457238 1457239