2024-04-26 10:12:34 发布
网友
在使用for循环遍历下一个或上一个元素时,是否有方法访问该元素(或tuple,或其他iterable元素)?
for
tuple
l = [1, 2, 3] for item in l: if item == 2: get_previous(l, item)
l = [1, 2, 3] for i, item in enumerate(l): if item == 2: previous = l[i - 1] print(previous)
输出:
1
如果您要查找的项目是列表中的第一个项目,则此操作将环绕并返回列表中的最后一个项目。换句话说,在上面的代码中将第三行更改为if item == 1:,将导致它打印3。
if item == 1:
3
l = [1, 2, 3] for i, j in zip(l, l[1:]): print(i, j)
表示为生成器函数:
def neighborhood(iterable): iterator = iter(iterable) prev_item = None current_item = next(iterator) # throws StopIteration if empty. for next_item in iterator: yield (prev_item, current_item, next_item) prev_item = current_item current_item = next_item yield (prev_item, current_item, None)
用法:
for prev,item,next in neighborhood(l): print prev, item, next
输出:
如果您要查找的项目是列表中的第一个项目,则此操作将环绕并返回列表中的最后一个项目。换句话说,在上面的代码中将第三行更改为
if item == 1:
,将导致它打印3
。表示为生成器函数:
用法:
相关问题 更多 >
编程相关推荐