gpt4 book ai didi

Pythonic 循环列表

转载 作者:IT老高 更新时间:2023-10-28 20:35:51 25 4
gpt4 key购买 nike

假设我有一个 list ,

l = [1, 2, 3, 4, 5, 6, 7, 8]

我想获取任意元素的索引及其相邻元素的值。例如,

i = l.index(n)
j = l[i-1]
k = l[i+1]

但是,对于 i == len(l) - 1 的边缘情况,这会失败。所以我想我会把它包裹起来,

if i == len(l) - 1:
k = l[0]
else:
k = l[i+1]

有没有pythonic方法可以做到这一点?

最佳答案

你可以使用模运算符!

i = len(l) - 1
jIndex = (i - 1) % len(l)
kIndex = (i + 1) % len(l)

j = l[jIndex]
k = l[kIndex]

或者,为了不那么冗长:

k = l[(i + 1) % len(l)]

关于Pythonic 循环列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8951020/

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