Loop in python - Повторите предложение, меняя только число внутри - PullRequest
0 голосов
/ 11 мая 2018

У меня есть последовательность:

    ['Valor','005 - 001']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 001');
    ['Valor','007 - 001']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 001');
    ['Valor','019 - 001']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 001');
    ['Valor','024 - 001']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 001');


    ['Valor','005 - 002']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 002');
    ['Valor','007 - 002']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 002');
    ['Valor','019 - 002']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 002');
    ['Valor','024 - 002']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 002');


    ['Valor','005 - 003']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 003');
    ['Valor','007 - 003']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 003');
    ['Valor','019 - 003']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 003');
    ['Valor','024 - 003']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 003');

....

Где единственное, что изменяется в каждой строке, это число после дефиса:

['Valor','005 - 001']=>DB('Cubo_Amostra_Cons',!Ano,'000 - 001');

Как можно зациклить это значение с "От 001 "до" 030 "?

Я пробовал:

for x in range(001,030):
print ( "['Valor','005 -" x"']=>DB('Cubo_Amostra_Cons',!Ano,'000 - "x"');
    ['Valor','007 - "x"']=>DB('Cubo_Amostra_Cons',!Ano,'000 - "x"');
    ['Valor','019 - "x"']=>DB('Cubo_Amostra_Cons',!Ano,'000 - "x"');
    ['Valor','024 - "x"']=>DB('Cubo_Amostra_Cons',!Ano,'000 - "x"');")

Но я не получил правильную последовательность.

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Python является языком на основе массива и может быть векторизован.Пожалуйста, используйте векторы (массивы) вместо цикла for, чтобы иметь лучшую производительность.

0 голосов
/ 11 мая 2018

Я считаю, что вы хотите отформатировать строку значения:

for x in range(20, 30):
    x_str = str(x).zfill(3)

... и использовать это в своих выходных данных.Кроме того, вы можете параметризовать свои четыре варианта:

class = [5, 7, 19, 24]
for post in range(20, 30):
    post_str = str(post).zfill(3)
    for pre in class:
        pre_str = str(pre).zfill(3)
        valor_str = pre_str + " - " + post_str
        cons_str  = "000 - " + post_str
        # Here, valor_str in the first label you want;
        #        cons_str is the last.

Можете ли вы оттуда закончить?

Обратите внимание, что окончательное значение, указанное в range, не используется;Я верю, что вы хотите

for post in range(1, 31):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...