Розуміння списків Python пояснюється на прикладах
Розуміння списків забезпечує стислий спосіб створення списків у Python. Вони більш читабельні та часто ефективніші, ніж використання традиційних циклів. У цій статті буде досліджено, що таке розуміння списків, як вони працюють, і надано приклади для ілюстрації їх використання.
Що таке розуміння списку?
Розуміння списку — це компактний спосіб обробки всіх або частини елементів колекції та повернення списку з результатами. Синтаксис розуміння списку такий:
[expression for item in iterable if condition]
Тут expression
є поточним елементом у ітерації, але це також результат, яким ви можете маніпулювати, перш ніж він закінчиться як елемент списку. iterable
— це колекція, яку ви переглядаєте, а condition
— необов’язковий фільтр, який включає лише елементи, які задовольняють умову.
Основні приклади
Створення списку квадратів
Щоб створити список квадратів чисел від 0 до 9, ви можете використовувати розуміння списку таким чином:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
squares = [x ** 2 for x in numbers]
print(squares)
Вихід:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Фільтрування елементів
Ви також можете додати умову для фільтрування елементів. Наприклад, щоб отримати лише парні числа зі списку:
even_squares = [x ** 2 for x in numbers if x % 2 == 0]
print(even_squares)
Вихід:
[0, 4, 16, 36, 64]
Зведення списку списків
Якщо у вас є список списків і ви хочете його звести, ви можете скористатися розумінням списку:
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [item for sublist in list_of_lists for item in sublist]
print(flattened)
Вихід:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Розширені приклади
Застосування функцій
Ви можете застосовувати функції в межах розуміння списку. Наприклад, щоб перетворити список рядків у верхній регістр:
words = ['hello', 'world', 'python']
uppercase_words = [word.upper() for word in words]
print(uppercase_words)
Вихід:
['HELLO', 'WORLD', 'PYTHON']
Вкладені розуміння
Спискові розуміння можуть бути вкладеними. Наприклад, щоб створити список кортежів (i, j), де i та j є елементами з двох списків:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
pairs = [(i, j) for i in list1 for j in list2]
print(pairs)
Вихід:
[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
Висновок
Розуміння списків пропонує потужний і стислий спосіб створення списків у Python. Вони можуть спростити ваш код і зробити його більш читабельним, замінивши кілька рядків коду циклу одним рядком розуміння. Практикуйте розуміння списків, щоб зручніше користуватися їхнім синтаксисом і можливостями.