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
dummy = []
for i in range(1,5):
    dummy.append('./Timestamp[@absCycle="'+ str(i) +'"]/Output'+str(i))
于 2013-06-12T05:45:41.213 に答える
1

使用するstr()

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