gpt4 book ai didi

python - 遍历一个可迭代对象,如何使用next()获取前一个值和下一个值?

转载 作者:行者123 更新时间:2023-11-28 20:05:33 26 4
gpt4 key购买 nike

def f(iterable):
i = iter(iterable)
int_list = []
n2 = next(i)
while True:
n1, n2, n3 = n2, next(i), next(i)
print('n1', n1)
print('n2,', n2)
print('n3', n3)
if n2 > n1 and n2> n3:
int_list.append(n2)
return int_list

在这种情况下,可迭代对象是一个列表。我想检查整数是否大于前一个整数和下一个整数。但是我不知道如何分配正确的值以使用 next() 方法进行检查

最佳答案

您可以创建以下生成器:

def f(iterable):
i = iter(iterable)
n1, n2, n3 = next(i), next(i), next(i)
while True:
if n2 > max(n1, n3):
yield n2
n1, n2, n3 = n2, n3, next(i)

然后像这样测试:

>>> list(f([1, 4, 3, 8, 6]))
[4, 8]

关于python - 遍历一个可迭代对象,如何使用next()获取前一个值和下一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29956381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com