Python — Понимание списка — GeeksforGeeks
Понимание списка Python состоит из квадратных скобок, содержащих выражение, которое выполняется для каждого элемента вместе с циклом for для перебора каждого элемента в списке Python.
Понимание списков Python предоставляет гораздо более короткий синтаксис для создания нового списка на основе значений существующего списка.
Преимущества понимания списков
- Более эффективное использование времени и места по сравнению с циклами.
- Требуется меньше строк кода.
- Преобразует повторяющийся оператор в формулу.
Newlist = [ Выражение (элемент) для Элемент в Oldlist IF Condition ]
. Пример. Пример Affice Office Office Of of Displecton
].

Python3
|
Выход:
[1, 2, 3]
Пример 2: даже список с использованием списка
Python3 9.0039
|
ВЫХОД: 9003
[0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4009, 4, 4009, 4, 4009, 4, 4009, 4, 4009, 4, 4009, 4, 4009,: 3
.
![]()
Example 3: Matrix using List comprehension
Python3
|
Вывод:
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
Вычисления списка и цикл For
Существуют различные способы повторения через список. Однако наиболее распространенным подходом является использование цикла для . Давайте рассмотрим приведенный ниже пример:
Python3
|
|
Вывод:
['G', ', 'e', 'e', 'k' ' ', 'G', 'e', 'e', 'k', 's', '!']
Временной анализ в списковом включении и цикле
списочное включение более эффективно как с точки зрения вычислений, так и с точки зрения пространство и время кодирования, чем цикл for. Как правило, они записываются в одну строку кода. В приведенной ниже программе показана разница между циклами for и пониманием списка в зависимости от производительности.
Python3
return [i * * 2 for I в Диапазон (n)] = 9004
9003 |
Выходные
Время, затраченное на list_comprehension: 0,47 Из приведенной выше программы видно, что обработка списков выполняется намного быстрее, чем в цикле for. Вложенные списочные включения — это не что иное, как списочное включение в другое списочное включение, которое очень похоже на вложенные циклы for. Ниже приведена программа, реализующая вложенный цикл: 9004 Выход Теперь, используя вложенные списки, тот же результат можно сгенерировать с помощью меньшего количества строк кода. Выход 3 Вложенные списковые включения
Python3
матрица
=
[]
80049 i
in
range
(
3
):
matrix.append([])
for
j
в
Диапазон
(
5
):
Матрица [I].
Append (J)
Print
(MATRIX)
(MATRIX)
(MATRIX)
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
Python3
matrix
=
[[j
for
j
in
range
(
5
)]
for
i
В
Диапазон
(
3
)]
Печать
(MATRIX)
3
3
3
.
, [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
List Comprehension и Lambda
Lambda Expression — это не что иное, как сокращенное представление функций Python. Использование генераторов списков с лямбдой создает эффективную комбинацию. Давайте посмотрим на следующие примеры:
Python3
|
Выход
[10, 20, 30, 40, 50]
Здесь мы использовали для печать для печати 10.
Python3
|
Выход:
[10, 20, 30, 40, 50]
Теперь здесь мы использовали только понимание списка для отображения таблицы 10.
Python3
|
Output:
[10, 20, 30, 40, 50]
Наконец, мы используем лямбда + понимание списка для отображения таблицы из 10. Эта комбинация очень полезна для получения эффективных решений в меньшем количестве строк кода для сложных проблем.
Условные выражения в распознавании списков
Мы также можем добавлять условные операторы в распознавание списков. Мы можем создать список, используя range(), операторы и т. д., а также применить некоторые условия к списку, используя оператор if.
- Понимание списка является эффективным средством описания и построения списков на основе текущих списков.
- Как правило, понимание списков легче и проще, чем стандартные функции формирования списков и циклы.
- Мы не должны писать длинные коды для обработки списков, чтобы обеспечить удобный код.
- Любое понимание списка может быть переписано в цикле for, но в контексте интерпретации списка каждый цикл for не может быть переписан.
Ниже приведены несколько примеров, демонстрирующих использование спискового понимания, а не традиционного подхода к итерации через итерации:
Пример 1: Python списковое понимание с использованием If-else
[
"равномерное число"
, если
I
%
2
=
=
0
else
"Odd number"
for
i
in
range
(
8
)]
print
(lis)
Output:
['Четное число', 'Нечетное число', 'Четное число', 'Нечетное число', 'Четное число', 'Нечетное число', 'Четное число', 'Нечетное число']
Пример 2: Вложенный IF с пониманием списка
Python3
|
Вывод:
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]Отображение от 1 квадрата до 9002 чисел.
Python3
|
Выход
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100], пример 4: 36, 49, 64, 81, 100] . Отображение транспонирования 2D-матрицы.
Python3
|
Output:
[[10, 40, 70 ], [20, 50, 80], [30, 60, 90]]Пример 5: Переключить регистр каждого символа в строке.

Python3
9 |
Выход 3
96Пример 6: Перевернуть каждую строку в кортеже.. , 'K', 'S', '\x14', 'g', 'E', 'E', 'K', 'S']
Python3
|
Выход:
['skeeg', 'rof', 'skeeg']Пример 7: Отображение суммы цифр всех элементов нечетных в атмосфере в атмосфере в атмосфере в атмосфере в атмосфере в атмосфере в атмосфере в атмосфере.

Python3
DSUM |
Выход:
[16, 3, 18, 18]
Бюро BUREAU CENSUS BUREAU: Соединенные Штаты
111 США.
-- Выберите факт --Оценки населения, 1 июля 2021 г., (V2021) База оценок численности населения, 1 апреля 2020 г., (V2021) Население, изменение в процентах - с 1 апреля 2020 г. (база оценок) по 1 июля 2021 г., ( V2021)Население, перепись, 1 апреля 2020 г.Население, перепись, 1 апреля 2010 г.Лица в возрасте до 5 лет, процентЛица в возрасте до 18 лет, процентЛица в возрасте 65 лет и старше, процентЖенщины, процентТолько белые, процентТолько чернокожие или афроамериканцы, процент (a)Американские индейцы и только коренные жители Аляски, процент (a) только азиаты, процент (a) только коренные жители Гавайев и других тихоокеанских островов, процент (a) две или более рас, процентиспаноязычные или латиноамериканцы, процент (b) только белые, не латиноамериканцы или латиноамериканцы, процентыветераны , 2017-2021Лица иностранного происхождения, процент, 2017-2021Жилищные единицы, 1 июля 2021 г., (V2021)Количество единиц жилья, занимаемого собственниками, 2017-2021Средняя стоимость единиц жилья, занимаемых собственниками, 2017-2021Средние выбранные ежемесячные расходы собственника - с ипотека, 2017-2021Средние выбранные ежемесячные расходы владельца - без ипотеки, 2 017–2021Средняя валовая арендная плата, 2017–2021 гг.

