-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_1then ?ARRAY_456_2ARRAY_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))

这将生成以下 cmds :

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 回答