Списки — это одна из самых важных и часто используемых структур данных в Python.
Они позволяют хранить и управлять коллекциями элементов, которые могут быть разных типов.
Списки являются изменяемыми (мутабельными), что означает, что вы можете добавлять, удалять и изменять элементы после создания списка.
Создание списка
Список в Python создается с помощью квадратных скобок []. Элементы списка разделяются запятыми.
Пример создания списка:
# Пример создания списка
my_list = [1, 2, 3, 4, 5]
print(my_list) # Вывод: [1, 2, 3, 4, 5]
Вы можете перебирать элементы списка с помощью цикла for.
Пример:
my_list = [1, 2, 3, 4, 5]
for item in my_list:
print(item)
Генерация списков (List Comprehension)
List Comprehension — это удобный способ создания списков на основе существующих списков.
Пример:
# Пример: создание списка квадратов чисел от 1 до 5
squares = [x**2 for x in range(1, 6)]
print(squares) # Вывод: [1, 4, 9, 16, 25]
Списки — это мощный инструмент в Python, который позволяет эффективно работать с коллекциями данных.
Они поддерживают множество операций, таких как добавление, удаление, сортировка и итерация.
Понимание работы со списками является важным шагом в освоении Python.
Примеры решения задач
Задача: Создайте список из 10 чисел и найдите сумму всех элементов.
Данную задачу можно решить несколькими способами, рассмотрим три варианта решения:
Нахождение суммы с использованием цикла for:
# Создание списка из 10 чисел
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Нахождение суммы с использованием цикла for
total_sum = 0 # Инициализация переменной для суммы
for number in numbers:
total_sum += number # Добавляем текущий элемент к сумме
# Вывод результата
print("Сумма всех элементов списка:", total_sum)
Объяснение
Мы проходим по каждому элементу списка numbers.
На каждой итерации добавляем текущий элемент к переменной total_sum.
Нахождение суммы с использованием цикла while:
# Создание списка из 10 чисел
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Нахождение суммы с использованием цикла while
total_sum = 0 # Инициализация переменной для суммы
index = 0 # Индекс для прохода по списку
while index < len(numbers):
total_sum += numbers[index] # Добавляем текущий элемент к сумме
index += 1 # Переходим к следующему элементу
# Вывод результата
print("Сумма всех элементов списка:", total_sum)
Объяснение
Мы используем индекс для доступа к элементам списка.
На каждой итерации добавляем элемент с текущим индексом к total_sum и увеличиваем индекс на 1.
Нахождение суммы с использованием встроенной функции sum():
# Создание списка из 10 чисел
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Нахождение суммы всех элементов списка
total_sum = sum(numbers)
# Вывод результата
print("Сумма всех элементов списка:", total_sum)
Объяснение
Мы создали список numbers, содержащий числа от 1 до 10.
Функция sum() прошлась по всем элементам списка и сложила их.
Результат суммы был выведен на экран.
Задача: Напишите программу, которая удаляет все дубликаты из списка с сохранением порядка.
Решение:
# Создание списка с дубликатами
my_list = [1, 2, 2, 3, 4, 4, 5, 6, 6, 7]
# Удаление дубликатов с сохранением порядка
unique_list = []
for item in my_list:
if item not in unique_list:
unique_list.append(item)
# Вывод результата
print("Список без дубликатов с сохранением порядка:", unique_list)
Альтернативное решение с использованием dict.fromkeys() (Python 3.7+)
Начиная с Python 3.7, словари сохраняют порядок вставки ключей. Мы можем использовать это свойство для удаления дубликатов с сохранением порядка.
# Создание списка с дубликатами
my_list = [1, 2, 2, 3, 4, 4, 5, 6, 6, 7]
# Удаление дубликатов с помощью dict.fromkeys()
unique_list = list(dict.fromkeys(my_list))
# Вывод результата
print("Список без дубликатов с сохранением порядка:", unique_list)