我已经经历过post,但是我想知道在使用for
循环时我在代码中做错了什么。
列表a
表示为:
a = [2, 4, 7,1,9, 33]
我想将两个相邻元素进行比较:
2 4
4 7
7 1
1 9
9 33
我做了类似的事情:
for x in a:
for y in a[1:]:
print (x,y)
答案 0 :(得分:7)
您的外循环在您的内循环中持续存在 each 值。要比较相邻的元素,您可以zip
本身具有偏移版本的列表。可以通过list slicing实现转移:
HTTP ERROR 403
Problem accessing /cluster. Reason:
GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag)
Powered by Jetty://
在 general 情况下,您的输入是任何可迭代的,而不是列表(或支持索引的另一个可迭代),则可以使用itertools
pairwise
recipe,也可以在{{ 3}}库:
for x, y in zip(a, a[1:]):
print(x, y)
答案 1 :(得分:3)
您正在将稳定元素与列表中除第一个元素之外的所有元素进行比较。
正确的方法是:
for i in range(len(a)-1):
x = a[i]
y = a[i+1]
print (x,y)