我有一个序列:
['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"');")
但我没有得到正确的序列。
答案 0 :(得分:1)
我相信您要格式化值字符串:
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):
答案 1 :(得分:0)
python是一种基于数组的语言,可以进行矢量化。 请使用向量(数组)而不是for循环,以获得更好的性能。