Работа со списками в Python

Азы Python

Работа со списками в Python — это основополагающий навык, который понадобится тебе на протяжении всего изучения языка. Списки в Python — это изменяемые последовательности элементов, которые могут содержать элементы любого типа. Давай рассмотрим основные операции со списками.

Что такое списки?

Списки в Python — это упорядоченные коллекции элементов, которые могут быть разных типов (числа, строки, другие списки и т.д.). Они заключены в квадратные скобки [ ] и элементы разделяются запятыми.

Создание списка

Список можно создать с помощью квадратных скобок или функции list():

# Пустой список
my_list = []

# Списки с элементами
my_list = [1, 2, 3, 'a', 'b', 'c']
numbers = [1, 2, 3, 4, 5]
strings = ["apple", "banana", "cherry"]
mixed = [1, "hello", 3.14, True]

# Список из строки
my_list = list('hello') # ['h', 'e', 'l', 'l', 'o']

Доступ к элементам списка

Элементы списка нумеруются с нуля. Элементы списка можно извлекать по их индексам.

fruits = ["apple", "banana", "cherry"]

# Получение первого элемента
print(fruits[0]) # "apple"

# Получение последнего элемента
print(fruits[-1]) # "cherry"

my_list = [10, 20, 30, 40, 50]

# Первый элемент
first_element = my_list[0] # 10

# Последний элемент
last_element = my_list[-1] # 50

# Срез списка (с 1-го по 3-й элемент, не включая 3-й)
sub_list = my_list[1:3] # [20, 30]

Изменение элементов списка

fruits = ["apple", "banana", "cherry"]

# Изменение второго элемента
fruits[1] = "blueberry"
print(fruits) # ["apple", "blueberry", "cherry"]

my_list = [1, 2, 3, 4, 5]

# Изменение элемента по индексу
my_list[1] = 20 # [1, 20, 3, 4, 5]

# Изменение среза
my_list[1:3] = [200, 300] # [1, 200, 300, 4, 5]

Добавление элементов в список

fruits = ["apple", "banana", "cherry"]

# Добавление элемента в конец списка
fruits.append("orange")
print(fruits) # ["apple", "banana", "cherry", "orange"]

# Вставка элемента в определенную позицию
fruits.insert(1, "blueberry")
print(fruits) # ["apple", "blueberry", "banana", "cherry", "orange"]


my_list = [1, 2, 3]

# Добавление одного элемента в конец списка
my_list.append(4)  # [1, 2, 3, 4]

# Добавление нескольких элементов в конец списка
my_list.extend([5, 6])  # [1, 2, 3, 4, 5, 6]

# Вставка элемента в конкретное место
my_list.insert(1, 1.5)  # [1, 1.5, 2, 3, 4, 5, 6]

Удаление элементов из списка

fruits = ["apple", "banana", "cherry", "orange"]

# Удаление элемента по значению
fruits.remove("banana")
print(fruits) # ["apple", "cherry", "orange"]

# Удаление элемента по индексу
del fruits[1]
print(fruits) # ["apple", "orange"]

# Удаление и получение последнего элемента
last_fruit = fruits.pop()
print(last_fruit) # "orange"
print(fruits) # ["apple"]

my_list = [1, 2, 3, 4, 5]

# Удаление элемента по значению
my_list.remove(3) # [1, 2, 4, 5]

# Удаление элемента по индексу
del my_list[1] # [1, 4, 5]

# Удаление и возвращение элемента по индексу
popped_element = my_list.pop(1) # my_list: [1, 5], popped_element: 4

# Очистка списка
my_list.clear() # []

Срезы списка

Срезы позволяют получить часть списка.

numbers = [1, 2, 3, 4, 5]

# Получение первых трех элементов
print(numbers[:3]) # [1, 2, 3]

# Получение элементов с третьего до конца
print(numbers[2:]) # [3, 4, 5]

# Получение элементов с третьего по четвертый
print(numbers[2:4]) # [3, 4]

Поиск элементов в списке

fruits = ["apple", "banana", "cherry"]

# Проверка наличия элемента в списке
print("banana" in fruits) # True
print("orange" in fruits) # False

# Получение индекса элемента
print(fruits.index("cherry")) # 2

Перебор элементов списка

fruits = ["apple", "banana", "cherry"]

# Перебор элементов с помощью цикла for
for fruit in fruits:
print(fruit)

my_list = ['a', 'b', 'c', 'd']

# Перебор элементов с помощью цикла for
for element in my_list:
print(element)

# Перебор элементов с индексами
for index, element in enumerate(my_list):
print(f"Index: {index}, Element: {element}")

Основные методы списка

  • append(x) — добавляет элемент `x` в конец списка.
  • insert(i, x) — вставляет элемент `x` на позицию `i`.
  • remove(x) — удаляет первый найденный элемент `x`.
  • pop([i]) — удаляет элемент на позиции `i` и возвращает его (если `i` не указан, удаляет и возвращает последний элемент).
  • index(x) — возвращает индекс первого найденного элемента `x`.
  • count(x) — возвращает количество элементов `x` в списке.
  • sort() — сортирует список.
  • reverse() — разворачивает список.
  • len() — возвращает длину списка
  • in  — проверяет, есть ли элемент в списке

Другие полезные методы

my_list = [1, 2, 3, 4, 5]

# Поиск индекса элемента
index_of_three = my_list.index(3) # 2

# Подсчет количества вхождений элемента
count_of_twos = my_list.count(2) # 1

# Обратный порядок элементов
my_list.reverse() # [5, 4, 3, 2, 1]

# Сортировка списка
my_list.sort() # [1, 2, 3, 4, 5]

Генераторы списков

Генераторы списков позволяют создавать новые списки на основе существующих с использованием компактного синтаксиса:

# Создание списка квадратов чисел от 0 до 9
squares = [x**2 for x in range(10)] # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# Список четных чисел от 0 до 9
evens = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8]

Это основные операции со списками в Python. Практикуйтесь с этими примерами, чтобы лучше понять, как работают списки!

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Инфоучка
Добавить комментарий

seventy seven − = sixty eight

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: