字符串列表因后缀而异

时间:2013-06-12 05:39:25

标签: python

您好我想创建一个包含字符串的列表,只有后缀即。像这样

['./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)

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

编辑:如何在字符串中执行此操作?我的意思是如果我想要一个像

这样的列表
 ['./name[@val="1"]/Output', './name[@val="2"]/Output','./name[@val="3"]/Output']

谢谢

3 个答案:

答案 0 :(得分:2)

在您的代码中将i更改为str(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)]

答案 1 :(得分:1)

使用str()

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

答案 2 :(得分:1)

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