-1

リストがあるとしましょう:

my_list = ['first', 'second', 'third']

ここでやりたいことは、このリストに名前を定義する cmd コマンドを実行することですが、同時に番号を付けることです。これは紛らわしいと思うので、次のようになります。

for i in range (0, 4):
      localdevice = cmd("some command create name ARRAY_456_" + i + "")

すでに持っているコマンド自体は必要ありません。知っておく必要があるのは、 for ループが機能して作成されるかどうARRAY_456_1ARRAY_456_2ですARRAY_456_3

または、これの最後に数字を追加できる他の方法はありますか?

4

3 に答える 3

2

動作するはずですが、そのように書くでしょう

for i in range (0, 4):
      localdevice = cmd("some command create name ARRAY_456_%d" % i)

文字列の連結を使用するのはそれほどクリーンではありません。フォーマットを使用して文字列のパラメータを置き換える方がはるかに柔軟です

より完全な例を次に示します。

cmd = 'some command create name'
for i in range(4):
    name = 'ARRAY_456_%d' % i # will create ARRAY_456_0, ...
    localdevice = cmd('%(cmd)s %(name)s' % dict(cmd=cmd, name=name)) # will merge the command with the name using keywords

それがあなたが探しているものでないなら、それから。質問がよくわかりません。

于 2012-09-20T10:04:05.323 に答える
1

enumerate()を探しているのかもしれません。

cmd_list = ["first", "second", "third"]
for rank, ze_cmd in enumerate(cmd_list, start=1):
      localdevice = cmd("%s ARRAY_456_%d"%(ze_cmd, rank))

これにより、次のコマンドが生成されます。

first ARRAY_456_1
second ARRAY_456_2
third ARRAY_456_3
于 2012-09-20T10:05:33.713 に答える
0
my_list = ["first", "second", "third"]

これで、さらにアイテムを追加できます。

my_list.append("fourth")

"fourth"これにより、文字列が最後に追加されます。これはあなたが望むものだと思いますが、よくわかりません。

もちろん、追加する前に文字列をフォーマットすることができます。

for i in xrange(4):
    my_list.append("array_456_%u" % i)
于 2012-09-20T10:03:36.953 に答える