2024-06-02 05:05:30 发布
网友
我正在寻找一个python方法,它使用索引值而不是实际元素本身来迭代列表。该代码正是这样做的:
for index in range(len(list)-1): # do stuff
我想看看是否已经有一个函数,这样做,或者如果我应该添加自己。你知道吗
for i in x:适用于任何iterable,如列表或生成器。你知道吗
for i in x:
range(r)或xrange(r)只是一个数字列表(或此类列表的生成器)。enumerate是从列表中生成计数器和值的方便方法。你可以用zip(range(len(alist)), alist)做同样的事情。你知道吗
range(r)
xrange(r)
enumerate
zip(range(len(alist)), alist)
for i, value in enumerate(alist): alist[i] = foo(value)
是使用枚举的一个很好的例子。它提供了一种“读取”值的有效方法,以及一种修改值的方法。你知道吗
当然,如果您需要对迭代进行更多的控制,那么总是有while循环。如果您需要继续或中断,或者需要以不寻常的方式更改索引,那么它特别有用。你知道吗
while
生成器是打包迭代的另一个好工具。你知道吗
就我个人而言,我最喜欢列表理解(以及生成器和字典类比)。它是控制力和紧凑性的完美结合。你知道吗
使用enumerate:
for index, ignore_this_its_the_value in enumerate(list): # do stuff
但实际上:
for index in range(len(list)): # do stuff
是否生成适当的索引。你知道吗
for i in x:
适用于任何iterable,如列表或生成器。你知道吗range(r)
或xrange(r)
只是一个数字列表(或此类列表的生成器)。enumerate
是从列表中生成计数器和值的方便方法。你可以用zip(range(len(alist)), alist)
做同样的事情。你知道吗是使用枚举的一个很好的例子。它提供了一种“读取”值的有效方法,以及一种修改值的方法。你知道吗
当然,如果您需要对迭代进行更多的控制,那么总是有
while
循环。如果您需要继续或中断,或者需要以不寻常的方式更改索引,那么它特别有用。你知道吗生成器是打包迭代的另一个好工具。你知道吗
就我个人而言,我最喜欢列表理解(以及生成器和字典类比)。它是控制力和紧凑性的完美结合。你知道吗
使用
enumerate
:但实际上:
是否生成适当的索引。你知道吗
相关问题 更多 >
编程相关推荐