遍历列表,一次获取多个项目
Iterate over a list, getting multiple items at once
我有一个数字列表,我想成对迭代,但不跳过项目。
例如:
myList = [1,2,3,4,5]
for one,two in myList:
print(one,two)
我要打印,
1,2
2,3
3,4
4,5
我目前正在使用列表索引并手动获取其他项目,但我想知道是否有“正确”的方法来执行此操作。
您可以 zip
列表本身,只需偏移 1 项。
myList = [1,2,3,4,5]
for x, y in zip(myList, myList[1:]):
print(f'{x},{y}')
打印:
1,2
2,3
3,4
4,5
有效的方法通常是正确的方法...
原则上您可以使用自身的延迟切片来压缩列表:
myList = [1,2,3,4,5]
for one,two in zip(myList, myList[1:]):
print(one,two, sep=",")
请注意,zip
在给定的最短可迭代对象上结束,因此它将在较短的切片上结束;不需要也缩短完整的 myList
参数。
我有一个数字列表,我想成对迭代,但不跳过项目。 例如:
myList = [1,2,3,4,5]
for one,two in myList:
print(one,two)
我要打印,
1,2
2,3
3,4
4,5
我目前正在使用列表索引并手动获取其他项目,但我想知道是否有“正确”的方法来执行此操作。
您可以 zip
列表本身,只需偏移 1 项。
myList = [1,2,3,4,5]
for x, y in zip(myList, myList[1:]):
print(f'{x},{y}')
打印:
1,2
2,3
3,4
4,5
有效的方法通常是正确的方法...
原则上您可以使用自身的延迟切片来压缩列表:
myList = [1,2,3,4,5]
for one,two in zip(myList, myList[1:]):
print(one,two, sep=",")
请注意,zip
在给定的最短可迭代对象上结束,因此它将在较短的切片上结束;不需要也缩短完整的 myList
参数。