我试图修改一个字符串列表,这样元素前面的元素编号从1开始。
例如:
['John', 'Eric', 'Samuel']变成['1 John', '2 Eric', '3 Samuel']
这是我目前掌握的代码:

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

这在前面添加了一个数字,但问题是它给出了第一个字符串0,我该如何解决这个问题?

最佳答案

您可以将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)

10-08 00:49