Python 是否有内置的“范围(len(lst))”功能?

Python 是否有内置的“范围(len(lst))”功能?,python,python-3.x,Python,Python 3.x,我发现自己经常使用类似于 for i in range(len(lst1)): lst1[i] += lst2[i] 是否有与范围(len(.))等效的内置值 (顺便说一句,我使用蟒蛇3。)更好地使用: enumerate()返回一个enumerate对象,该对象包含元组,其中元组的第一项是索引,第二项是元素。(默认情况下,索引从0开始,您可以通过将可选参数传递到enumerate())来更改该索引) 示例: In [50]: lst1=['a','b','c','s'] In [51]:

我发现自己经常使用类似于

for i in range(len(lst1)): lst1[i] += lst2[i]
是否有与
范围(len(.))
等效的内置值

(顺便说一句,我使用蟒蛇3。)

更好地使用:

enumerate()
返回一个
enumerate
对象,该对象包含
元组
,其中元组的第一项是索引,第二项是元素。(默认情况下,索引从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')]


您想要实现什么?
range(len(…)
在python中几乎没有用处。如果你经常使用它,是时候重新考虑你的做法了。在您的示例中,python方法是
new\u list=[a+b表示a,b在zip(lst1,lst2)]
。我以前不知道
enumerate
。这就是我需要的。谢谢@Updoglu很高兴这有帮助。:)@updogliu:除非你有数字来支持你的陈述,否则你最好删除它。它显然比其他地方发布的任何东西都更有效。是的,后者更快,我刚刚试过。我没有注意到Python的
+=
并没有像C中那样增加整数,而是创建了一个新的整数。
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')]
for i, e in enumerate(lst2):
    lst1[i] += e
lst1 = [e1 + e2 for e1, e2 in zip(lst1, lst2)]