0

嗨,我想创建一个列表,其中包含仅通过后缀不同的字符串,即。像这样

['./name[@val="1"]/Output1', './name[@val="1"]/Output2','./name[@val="1"]/Output3']

我试图遍历一个 for 循环并像这样附加后缀 int 值

dummy = []
for I in range(1,5):
    dummy.append('./Timestamp[@absCycle='"'+i'"']/Output'+i)

然后我意识到我不能将 int 值附加i到字符串,还有其他方法可以做到这一点吗?

编辑:另外如何在字符串中做到这一点?我的意思是如果我想要一个像

 ['./name[@val="1"]/Output', './name[@val="2"]/Output','./name[@val="3"]/Output']

谢谢

4

3 回答 3

2

在您的代码中更改istr(i)将整数类型转换为字符串。

您还应该尝试使用单行列表推导,它更简洁、更 Pythonic。

dummy = [ ('./name[@val="1"]/Output' + str(i) ) for i in xrange(0,5)]

并且还使用格式而不是串联。

[ './name[@val="1"]/Output{0}'.format(i)  for i in xrange(0,5)]
于 2013-06-12T05:42:13.167 回答
1

利用str()

dummy = []
for i in range(1,5):
    dummy.append('./Timestamp[@absCycle='"'+i'"']/Output'+str(i))
于 2013-06-12T05:42:42.890 回答
1
dummy = []
for i in range(1,5):
    dummy.append('./Timestamp[@absCycle="'+ str(i) +'"]/Output'+str(i))
于 2013-06-12T05:45:41.213 回答