Python中的可变长度字符串复制

时间:2017-09-21 15:15:11

标签: python duplicates variable-length-array

以下简短python脚本:

var1 = '7f0000000000000000000000000000000000000000000000000000000000000002'

var2 = '01'

output = 'evm --code ' + var1 + var1 + var2 + ' run'

print(output)

能够生成以下字符串:

evm --code 7f00000000000000000000000000000000000000000000000000000000000000027f000000000000000000000000000000000000000000000000000000000000000201 run

但是,我想生成字符串,其中var1可以附加到输出字符串的最左侧,以获得预先指定的(参数化)次数。对应于每次我们将var1添加到最左侧时,我想将var2添加到最右侧相同的次数。

因此,以上述输出字符串作为基线,如果我们选择3作为参数,我们的新output字符串应呈现如下:

evm --debug --code 7f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f000000000000000000000000000000000000000000000000000000000000000201010101 run 

我如何控制这些字符串的重复,如上所述将它们附加到该基本字符串,并带有变量?

2 个答案:

答案 0 :(得分:3)

您可以在字符串上使用乘数运算符,例如:

repeat = 3
output = 'evm --code ' + var1 * repeat + var2 * repeat + ' run'

答案 1 :(得分:1)

在python中,你可以将一个字符串乘以一个int,重复它给定的次数:

someString = "01"
someInt = 3
someString * someInt

将输出:

'010101'

知道这一点,你的问题解决起来应该是微不足道的。例如:

output = "evm --code %s%s run" % (var1 * n, var2 * n)

n为正整数。

注意:上面,我使用了一个字符串格式,这在很多方面(并且不易出错)比简单连接更好。