如何正确构造for循环以在python列表中循环

如何正确构造for循环以在python列表中循环,python,list,Python,List,假设我有一个列表a=[1,2,3,4] 我想显示列表[1,2,3],[2,3,4] 这是我的解决方案: A= [5, 3, 3] def solution(A): A.sort() #print(A) for i in range(0,len(A)-2): if i+3 <= len(A): part = A[i:i+3] if part[0] + part[1] > part[2]:

假设我有一个列表
a=[1,2,3,4]

我想显示列表
[1,2,3],[2,3,4]

这是我的解决方案:

A= [5, 3, 3]


def solution(A):
    A.sort()
    #print(A)
    for i in range(0,len(A)-2):
        if i+3 <= len(A):
            part = A[i:i+3]
            if part[0] + part[1] > part[2]:
                print(part)
                return 1
A=[5,3,3]
def溶液(A):
A.排序()
#印刷品(A)
对于范围(0,len(A)-2)内的i:
如果i+3第[2]部分:
印刷品(部分)
返回1

我使用了
如果I+3这可能就是你想要的

for a in range(len(A)-2):
    print(list(A[a:a+3]))

>>> [list(A[a:a+3]) for a in range(len(A)-2)]
[[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7], [6, 7, 8], [7, 8, 9]]

您使用什么确切的逻辑将
[1,2,3,4]
转换为
[1,2,3]
[2,3,4]
?您是否询问如何单步遍历列表并一次返回3个元素?所以如果输入是
[1,2,3,4,5]
,你会得到
[1,2,3],[2,3,4],[3,4,5]
?这是我能想到的唯一一件事,你的问题不清楚。
list(zip(x,x[1:],x[2:])
zip
以最短列表停止。