2016-04-14 14 views
0

私は各繰り返しでリストを持つ変数yを持つループの中にいます。リストからソフトウェアのコマンドラインまでの整数を解析する

入力:

y= ['0', '1', '2', '3', '4', '5', '6'] 

所望の出力:

create pressure at points 0 1 2 3 4 5 6 

私は

print "create pressure at points d% d% d% d% d% d% d%" % (y[0], y[1], y[2], y[3], y[4], y[5], y[6]) 

でシンプルなアクセスを使用してみましたが、エラーを与える:

KeyError: 0 

リストのすべての値を別のソフトウェアに解析したいので、それらを印刷する必要があります。それは等[0]としてYを保存することができれば、特定の方法

sensorik.cmd('create pressure at points 0 1 2 3 4 5 6') 

業者は

sensorik.cmd('create pressure at points d% d% d% d% d% d% d% ' % (y[0], y[1], y[2], y[3], y[4], y[5], y[6])) 

任意の提案として解析することができますか?

+0

Y [0]は文字列であり、%dは必要整数。 y = [0,1,2,3,4,5,6]を使用する – tfv

答えて

3

だけjoinリストを

y= ['0', '1', '2', '3', '4', '5', '6'] 
print 'create pressure at points', ' '.join(y) 
# create pressure at points 0 1 2 3 4 5 6 
+0

を使用します。これはループの例です。次のステップでは、代わりに4または5の値が得られます。 7の値、その場合、私は再びそれを実装する必要があります。それは何とかlen(y?)と結びつけることが可能です –

+1

リストをスライスしますか? 'y [1:]'は最初の値の後のすべてを取得します –

+2

待機中、いいえ、これはリストに含まれる値の数に関係なく正常に動作します。 –

2

結果が文字列なので、整数を解析する必要はありません。

代わりのd%、(%は最初でなければならないことに留意されたい)%sを使用:

>>> y= ['0', '1', '2', '3', '4', '5', '6'] 
>>> print "create pressure at points %s %s %s %s %s %s %s" % (y[0], y[1], y[2], y[3], y[4], y[5], y[6]) 
create pressure at points 0 1 2 3 4 5 6 
+1

これはループの例です。次のステップでは、7つの値の代わりに4つまたは5つの値が得られるかもしれません。それをもう一度実装するにはどうすればいいですか? –

+1

その場合、cricket_007の回答 –

関連する問題