我发现自己经常使用类似的东西
for i in range(len(lst1)): lst1[i] += lst2[i]
是否有内置的等价物range(len(.))
?
(顺便说一句,我使用 Python3。)
我发现自己经常使用类似的东西
for i in range(len(lst1)): lst1[i] += lst2[i]
是否有内置的等价物range(len(.))
?
(顺便说一句,我使用 Python3。)
for i, e in enumerate(lst2):
lst1[i] += e
或者
lst1 = [e1 + e2 for e1, e2 in zip(lst1, lst2)]
更好的使用enumerate()
:
for index,x in enumerate(lst1):
lst1[index] += lst2[index]
enumerate()
返回一个enumerate
包含 的对象,其中tuples
元组的第一项是索引,第二项是元素。(默认情况下索引从 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')]