Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向字符串列表中添加数字_Python_String_List_Python 3.x - Fatal编程技术网

Python 向字符串列表中添加数字

Python 向字符串列表中添加数字,python,string,list,python-3.x,Python,String,List,Python 3.x,我正在尝试修改字符串列表,以便元素的前面有从1开始的元素编号 例如: for i in range(1,len(rader)) ['John','Eric','Samuel']变成了['1john','2eric','3samuel'] 以下是我目前掌握的代码: for i in range(len(rader)): rader[i] = '{}{}{}'.format(i," ",rader[i]) 这会在前面添加一个数字,但问题是它会将第一个字符串的数字设为零,如何解决此问题?

我正在尝试修改字符串列表,以便元素的前面有从
1
开始的元素编号

例如:

 for i in range(1,len(rader))
['John','Eric','Samuel']
变成了
['1john','2eric','3samuel']

以下是我目前掌握的代码:

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

这会在前面添加一个数字,但问题是它会将第一个字符串的数字设为零,如何解决此问题?

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

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


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

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

但还有一种更优雅的方式:

for i, name in enumerate(rader):
    rader[i] = '{} {}'.format(i + 1, name)
您可以使用,只需指定
start
,它将从
1
开始:

rader = ['{} {}'.format(i,s) for i,s  in enumerate(rader, start=1)]
如果你只是想这样做:

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

1 John, 2 Eric, 3 Samuel

真的吗<代码>格式(i+1,“,rader[i])。。。Python使用基于零的数组和范围,这些数组和范围将跳过第一个数组和范围element@kdopen:是的,它不适用于代码的其余部分,但我想说明可以使用一些附加参数调用范围函数。