Вступ до списку розумінь Python

Зрозуміння забезпечують короткий і простий спосіб побудови нових послідовностей, використовуючи вже визначені послідовності в Python. Ці послідовності можуть бути списками, наборами, словниками тощо. Зрозуміння списків є однією з цінних особливостей Python. Коротше кажучи, «Поняття списків» пропонує спосіб створювати нові списки на основі наявних списків. Іншими словами, «Поняття списку» - це один простий спосіб створити список на основі якогось ітерабельного. Тут ітерабельним є все, що можна використати для перегляду циклу. Зрозуміння списку дає можливість використовувати альтернативний синтаксис для створення списків та будь-яких інших послідовних типів даних у python. Ми розглянемо, як вони корисні згодом. Існує 3 компоненти розуміння списку, це:

  • Вираз виводу: Цей варіант не є обов'язковим і може бути проігнорований.
  • Ітерабельний.
  • Змінна, яка представляє членів ітерабельного, її часто називають змінною ітератора.

Синтаксис та приклади:

У python ми можемо створити список розумінь, використовуючи наступний синтаксис:

list_variable = (x for x in iterable)

Як ви можете бачити в списку Зрозуміння, список присвоюється змінній. Розглянемо приклад, спочатку ми можемо розглянути метод пошуку квадрата числа за допомогою циклу:

Код:

numbers = (2, 5, 3, 7) square = () for n in numbers:
square.append(n**2)
print(square)

Вихід:

Тепер давайте розглянемо те ж саме, але використовуючи Список Зрозуміння замість циклу:

Код:

numbers = (2, 5, 3, 7) square = (n**2 for n in numbers) print(square)

Вихід:

Тут ви можете бачити, що квадратні дужки "()" використовуються для позначення того, що вихідним виразом всередині них є список.

Перелічіть розуміння та функції лямбда

Слід пам’ятати, що розуміння списків - не єдиний спосіб створення списків, Python має багато вбудованих функцій та функцію лямбда, яка може бути використана, наприклад:

Код:

letters = list(map(lambda x: x, 'human'))
print(letters)

Вихід:

Хоча це працює у багатьох випадках, розуміння списків краще читати і легше їх зрозуміти тому, хто не є програмістом коду.

Додавання умов у розуміння списку

Ви можете користуватися будь-якими умовними умовами, необхідними всередині списку, щоб змінити існуючий список. Давайте розглянемо приклад, який використовує умовні умови:

Код:

numbers_list = ( x for x in range(20) if x % 2 == 0) print(numbers_list)

Вихід:

Ось ще один приклад:

Код:

numbers_list = (x for x in range(100) if x % 2 == 0 if x % 5 == 0) print(numbers_list)

Вихід:

Використання вкладених циклів у розумінні списку

Якщо потрібно, ми можемо використовувати вкладені петлі у розумінні списку, давайте подивимось, як ми можемо використовувати вкладені петлі таким чином, знайшовши перенесення матриці:

Код:

transposedmatrix = () matrix = ((1, 2, 3, 4), (4, 5, 6, 8)) for i in range(len(matrix (0))):
transposedmatrix_row = () for row in matrix:
transposedmatrix_row.append(row(i))
transposedmatrix.append(transposedmatrix_row)
print(transposedmatrix)

Вихід:

Приклади розуміння списку Python

Нижче наведено приклади спільного розуміння Python:

Приклад №1 - Видалення голосних звуків із заданої речення

Код:

def eg_for(sentence):
vowels = 'aeiou'
filter_list = () for l in sentence:
if l not in vowels:
filter_list.append(l)
return ''.join(filter_list)
def eg_lc(sentence):
vowels = 'aeiou'
return ''.join(( X for X in sentence if X not in vowels))
Now, let's define the matrix, run the program and then check-out the results:
sentence = "hello from the other side"
print ("loop result: " + eg_for(sentence))
print ("LC result: " + eg_lc(sentence))

Вихід:

Приклад №2 - Картографування назв країн із їхніми столицями

Код:

country = ( 'India', 'Italy', 'Japan' ) capital = ( 'Delhi', 'Rome', 'Tokyo' ) output_dict = ()
# Using loop for constructing dictionary
for (key, value) in zip(country, capital):
output_dict(key) = value
print("Output Dictionary using for loop:", output_dict)

Вихід:

Переваги розуміння списку Python

Можна подумати, якщо петлі можна використовувати майже для всього розуміння списку, навіщо їх використовувати в першу чергу? Що ж, відповідь полягає в швидкості та часу, необхідному для виконання завдання та кількості необхідної пам’яті. Коли розуміння списку робиться, ми вже скорочуємо 3 рядки коду в один, і коли це зроблено, код набагато швидше, як коли стикається зі розумінням списку, python виділяє пам'ять для списку спочатку, а потім додає елементи всередині нього. Крім того, це, без сумніву, більш елегантний і складний спосіб створення списків, заснованих на попередньо існуючих списках.

Висновок

Тепер, коли ми мали певний досвід розуміння списків, легко зрозуміти, як вони дозволяють нам перетворити один список у новий. Вони мають простий синтаксис, який обмежує обсяг роботи, необхідний для створення списку. Зважаючи на синтаксис та структуру розуміння списків в основному, як позначення програми для створення наборів, вони швидко стають другим характером для програмістів і гарантують, що коли код буде передано іншій особі для підтримки та розширення, це буде легко зрозуміти і працювати з.

Рекомендована стаття

Це посібник зі списку розумінь Python. Тут ми обговорюємо розуміння списку та функції лямбда разом із впровадженням та виведенням коду. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Деструктор в Python з Перевагами
  2. Робіть цикл у Python за допомогою блок-схеми
  3. Струнковий масив в Python з методами
  4. Що таке шари лямбда AWS?
  5. Типи даних PL / SQL
  6. String Array в JavaScript
  7. Різні типи даних SQL з прикладами
  8. Повне керівництво по масиву рядків