2013-06-12 69 views
0

嗨我想創建一個包含字符串的列表,只有後綴ie不同。這樣字符串列表不同後綴

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

我試圖通過一個迭代的for循環,並追加像這樣

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

然後我意識到我不能int值i追加到一個字符串後綴int值,沒有任何其他方式來做到這一點?

編輯:又如何做到這一點在一個字符串?我的意思是如何,如果我要像

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

列表謝謝

+2

更改+ i到+ STR(I) – falsetru

+0

感謝@falsetru。以及如何在一個字符串內做到這一點?例如:對於上面字符串中的「@ val1」? – user19911303

回答

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)] 
+0

謝謝@ DhruvPathak。我怎麼能在一個字符串內做到這一點?我的意思是如果我想要一個列表,如 '['./name[@val="1"]/Output','./name[@val="2"]/Output','//name[@val =「3」]/Output']' – user19911303

+1

@ user20044033再次使用格式如'['./name[@val =「{0}」]/Output'.format(i)' 請參閱:http:// docs .python.org/2 /庫/ string.html#格式實例 – DhruvPathak

1

使用str()

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