gpt4 book ai didi

python - 编写不会因越界检查而中断的 if 语句的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-28 20:55:15 25 4
gpt4 key购买 nike

在 for 循环中,检查列表中的上一个和下一个而不使索引越界的最佳方法是什么? (见下面的代码)

假设我正在编写一个函数来检查每种颜色是否与另一种颜色相邻,例如:

def colorChecker(colorList):
colors = True
for i in range(len(colorList)): #No editing this line
if not ((i > 0 and colorList[i] == colorList[i-1]) or ((i < len(colorList)-1) and colorList[i] == colorList[i+1])):
colors = False
return colors

这给了我一个索引越界异常...

我正在尝试检查索引是否越界,并在它进入检查 colorList[len(colorlist)+1] 之前从 if 语句中反弹它......但显然这是正确的做法。你会如何更好地写这个?

最佳答案

最好像这样迭代三组元素,使用 zip

for prev,cur,nxt in zip(colorList, colorList[1:], colorList[2:]):
if (prev == cur) or (cur == nxt):
# Do something

关于python - 编写不会因越界检查而中断的 if 语句的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57342321/

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