В понимании списка Python вам нужно только выражение и a для l oop? - PullRequest
0 голосов
/ 17 июня 2020

Из учебника Python Cra sh Мне дали этот блок кода в качестве примера:

squares = [value**2 for value in range(1, 11)]
print(squares)

Он говорит: «Определите выражение для значений, которые вы хотите сохранить в новом список". Затем я захотел поиграть с этой концепцией и сделал:

import random as r

my_list = [r.random() for value in range(20)]

Я быстро понял, что не использую переменную из for l oop в выражении. Тогда я предполагаю, что все, что оценивает выражение, будет значением элемента списка. Было бы правильно сказать, что вам нужно только ЛЮБОЕ выражение (переменная из для l oop не требуется) и как минимум для l oop, чтобы использовать понимание списка?

Ответы [ 3 ]

2 голосов
/ 17 июня 2020

Составление списка будет работать независимо от того, использует ли выражение переменную l oop или нет. Таким образом, ваш пример будет работать нормально, чтобы составить список из 20 отдельных случайных чисел.

Существует соглашение, что если переменная, которая назначается, является фиктивной переменной, ей дается имя _.

my_list = [r.random() for _ in range(20)]
1 голос
/ 17 июня 2020

Да, вы правы, вы можете использовать любое выражение, при условии, что оно синтаксически корректно, выражение:

[1 for i in range(0,10)]

работает нормально и возвращает список:

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
0 голосов
/ 17 июня 2020

Мы можем использовать итеративную переменную в нашем выражении или нет. Это наш wi sh в понимании списка. Пример:

li=[i*2 for i in range(1,10)]
      print(li)

или мы можем пренебречь переменной итерацией

li=[23 for i in range(1,10)]
     print(li)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...