通过for
循环(即for x in list:
)访问列表时,有没有办法在同一循环中访问列表中的x+1
项目?
例如,
list = [1 ,2 ,3 ,4]
有某种方法可以像
那样添加1 + 2、2 + 3、3 + 4for x in list:
print(x+(x+1))
答案 0 :(得分:0)
您可以按索引而不是值进行循环,并确保在倒数第二个索引处停止,以避免在访问下一个索引时出现IndexError: list index out of range
异常:
l = [1 ,2 ,3 ,4]
for i in range(len(l) - 1):
print(l[i] + l[i + 1])
不过,有些Pythonic的用法是将列表本身本身向右移zip
:
l = [1 ,2 ,3 ,4]
for i, j in zip(l, l[1:]):
print(i + j)
PS :避免使用内置类型list
作为变量名。
答案 1 :(得分:0)
您有多个选择。
一种是使用enumarate()
for counter, x in enumerate(a_list):
print(str(x+a_list[counter+1]))
将在上一次迭代中抛出IndexError,因此您也必须处理这种情况。