Python 中的可变长度字符串重复
Variable length string duplication in Python
以下简短的 python
脚本:
var1 = '7f0000000000000000000000000000000000000000000000000000000000000002'
var2 = '01'
output = 'evm --code ' + var1 + var1 + var2 + ' run'
print(output)
能够生成以下字符串:
evm --code 7f00000000000000000000000000000000000000000000000000000000000000027f000000000000000000000000000000000000000000000000000000000000000201 run
但是,我想生成字符串,其中 var1
可以附加到输出字符串的最左侧以获得预先指定的(参数化)数字次。对应于每次我们将 var1
附加到最左侧,我想将 var2
附加到最右侧相同的次数。
所以以上面的输出字符串为基准,如果我们 select 3
作为我们的参数,我们新的 output
字符串应该呈现如下:
evm --debug --code 7f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f000000000000000000000000000000000000000000000000000000000000000201010101 run
我如何控制这些字符串的复制,将它们附加到如上所述的带有变量的基本字符串?
您可以在字符串上使用乘数运算符,例如:
repeat = 3
output = 'evm --code ' + var1 * repeat + var2 * repeat + ' run'
在python中,你可以将一个字符串乘以一个整数来重复它给定的次数:
someString = "01"
someInt = 3
someString * someInt
将输出:
'010101'
知道这一点,您的问题应该很容易解决。例如:
output = "evm --code %s%s run" % (var1 * n, var2 * n)
其中n
为正整数。
注意:上面,我使用了字符串格式,这在很多方面都比简单的连接更好(并且更不容易出错) .
以下简短的 python
脚本:
var1 = '7f0000000000000000000000000000000000000000000000000000000000000002'
var2 = '01'
output = 'evm --code ' + var1 + var1 + var2 + ' run'
print(output)
能够生成以下字符串:
evm --code 7f00000000000000000000000000000000000000000000000000000000000000027f000000000000000000000000000000000000000000000000000000000000000201 run
但是,我想生成字符串,其中 var1
可以附加到输出字符串的最左侧以获得预先指定的(参数化)数字次。对应于每次我们将 var1
附加到最左侧,我想将 var2
附加到最右侧相同的次数。
所以以上面的输出字符串为基准,如果我们 select 3
作为我们的参数,我们新的 output
字符串应该呈现如下:
evm --debug --code 7f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f000000000000000000000000000000000000000000000000000000000000000201010101 run
我如何控制这些字符串的复制,将它们附加到如上所述的带有变量的基本字符串?
您可以在字符串上使用乘数运算符,例如:
repeat = 3
output = 'evm --code ' + var1 * repeat + var2 * repeat + ' run'
在python中,你可以将一个字符串乘以一个整数来重复它给定的次数:
someString = "01"
someInt = 3
someString * someInt
将输出:
'010101'
知道这一点,您的问题应该很容易解决。例如:
output = "evm --code %s%s run" % (var1 * n, var2 * n)
其中n
为正整数。
注意:上面,我使用了字符串格式,这在很多方面都比简单的连接更好(并且更不容易出错) .