我发现自己经常使用

for i in range(len(lst1)): lst1[i] += lst2[i]

是否有一个内置的等效于range(len(.))
(顺便说一下,我用蟒蛇3。)

最佳答案

更好地使用enumerate()

 for index,x in enumerate(lst1):
      lst1[index] += lst2[index]

enumerate()返回一个包含enumeratetuples对象,其中元组的第一项是index,第二项是element。(默认情况下,索引从0开始,您可以通过向enumerate()传递可选参数来更改它)
例子:
In [50]: lst1=['a','b','c','s']

In [51]: list(enumerate(lst1))         #default index values, i.e 0
Out[51]: [(0, 'a'), (1, 'b'), (2, 'c'), (3, 's')]

In [53]: list(enumerate(lst1,1))       #index started at 1
Out[53]: [(1, 'a'), (2, 'b'), (3, 'c'), (4, 's')]

08-19 21:03