Как правильно структурировать цикл for для цикла по списку Python - PullRequest
0 голосов
/ 18 февраля 2019

Допустим, у меня есть список 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

Я использовал условие if i+3 <= len(A): для проверки переполнения длины. Мне не нравится структура, есть ли лучший способ представить это?

1 Ответ

0 голосов
/ 18 февраля 2019

Это, вероятно, то, что вы хотите.

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]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...