Ahmad Qassym Ответов: 2

Какой цикл вложен в другой ?


[j for i in x for j in range(len(x)) if i == x[j]]

то есть постижение список вопрос: есть петля ( для меня х) вложенных цикла (по J в диапазоне(длина(х)) или наоборот?

Что я уже пробовал:

петля

2 Ответов

Рейтинг:
4

Richard MacCutchan

Используя простой пример, мы получаем эквивалент, показанный здесь:

    x = [ 2, 3, 4, 7, 11 ]
    z = [j for i in x for j in range(len(x)) if i == x[j]]
    print(z)

# which is the same as
    zzz = []
    for i in x:
        for j in range(len(x)):
            if i == x[j]:
                zzz.append(j)
    print(zzz)

И выход есть:
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4]


Рейтинг:
18

OriginalGriff

Кроме того, что вы не компилируете как есть, поэтому показанный вами пример кода не будет работать, попробуйте: замените "if" оператором print и покажите значения i и j.
Что бы ни поднялось первым, это внутренняя петля.


Richard MacCutchan

Отлично работает в моем Python.