将数字添加到字符串列表中

时间:2016-02-11 16:12:07

标签: python string list python-3.x

我试图修改字符串列表,以便元素从%23开始在前面有元素编号。

例如:

1变为['John', 'Eric', 'Samuel']

这是我到目前为止的代码:

['1 John', '2 Eric', '3 Samuel']

这之前添加了一个数字,但问题是它给第一个字符串数字为零,我该如何解决这个问题呢?

3 个答案:

答案 0 :(得分:3)

您可以将i + 1传递给format()

for i in range(len(rader)):
    rader[i] = '{}{}{}'.format(i + 1," ",rader[i])
    #                          ^^^^^

但是存在一种更优雅的方式:

for i, name in enumerate(rader):
    rader[i] = '{} {}'.format(i + 1, name)

答案 1 :(得分:1)

您可以使用enumerate,只需指定start,它就会从1开始:

rader = ['{} {}'.format(i,s) for i,s  in enumerate(rader, start=1)]

如果你只是想print那样:

print(*('{} {}'.format(i,s) for i,s in enumerate(rader, start=1)), sep=', ')

输出:

1 John, 2 Eric, 3 Samuel

答案 2 :(得分:-1)

您可以为范围函数传递其他参数,例如:

 for i in range(1,len(rader))

More about range function

但是对于这个解决方案,你需要重新计算其余的代码,所以它可能不是最好的主意。