Введение
В Python список - это структура данных, которая используется для хранения набора значений. Это одна из наиболее часто используемых структур данных в Python и используется во многих различных приложениях программирования.
Создание списка
Чтобы создать список, вы можете использовать квадратные скобки []
и разделять значения запятыми. Например:
1
|
my_list = [1, 2, 3, 4, 5]
|
Это создает список с именем my_list
со значениями 1, 2, 3, 4 и 5.
Доступ к элементам в списке
Вы можете получить доступ к отдельным элементам списка, используя их индекс. В Python первый элемент в списке имеет индекс 0. Например:
1
2
|
my_list = [1, 2, 3, 4, 5]
print(my_list[0])
|
Это привело бы к выводу значения 1.
Вы также можете использовать отрицательные индексы для доступа к элементам из конца списка. Например:
1
2
|
my_list = [1, 2, 3, 4, 5]
print(my_list[-1])
|
Это привело бы к выводу значения 5.
Изменение элементов в списке
Вы можете изменять элементы в списке, присваивая новое значение определенному индексу. Например:
1
2
3
|
my_list = [1, 2, 3, 4, 5]
my_list[0] = 6
print(my_list)
|
Это изменило бы первый элемент в my_list на 6.
Добавление элементов в список
Вы можете добавлять элементы в список с помощью метода append(). Например:
1
2
3
|
my_list = [1, 2, 3, 4, 5]
my_list.append(6)
print(my_list)
|
Это добавило бы значение 6 в конец my_list.
Вы также можете использовать метод extend() для добавления нескольких элементов в список одновременно. Например:
1
2
3
|
my_list = [1, 2, 3, 4, 5]
my_list.extend([6, 7, 8])
print(my_list)
|
Это добавило бы значения 6, 7 и 8 в конец my_list.
Удаление элементов из списка
Вы можете удалить элементы из списка, используя метод remove(). Например:
1
2
3
|
my_list = [1, 2, 3, 4, 5]
my_list.remove(3)
print(my_list)
|
Это привело бы к удалению значения 3 из my_list.
Вы также можете использовать метод pop() для удаления элемента с определенным индексом. Например:
1
2
3
|
my_list = [1, 2, 3, 4, 5]
my_list.pop(2)
print(my_list)
|
Это привело бы к удалению элемента с индексом 2 (третий элемент) из my_list.
Operation |
Syntax |
Description |
Создание |
my_list = [] or my_list = list() |
Создает пустой список |
|
my_list = [value1, value2, ...] |
Создает список с начальными значениями |
Доступ |
my_list[index] |
Обращается к значению по указанному индексу |
|
my_list[start:end] |
Получает доступ к фрагменту значений от начального индекса до конечного индекса, но не включая его |
Модификация |
my_list[index] = new_value |
Заменяет значение по указанному индексу новым значением |
|
my_list.append(value) |
Добавляет новое значение в конец списка |
|
my_list.extend(iterable) |
Добавляет значения из iterable в конец списка |
|
my_list.insert(index, value) |
Вставляет новое значение по указанному индексу |
Удаление |
del my_list[index] |
Удаляет значение по указанному индексу |
|
my_list.remove(value) |
Удаляет первое вхождение указанного значения |
|
my_list.pop(index) |
Удаляет и возвращает значение по указанному индексу или последнее значение, если индекс не указан |
|
my_list.clear() |
Удаляет все значения из списка |
Другой |
len(my_list) |
Возвращает количество значений в списке |
|
sorted(my_list) |
Возвращает новый список со значениями, отсортированными в порядке возрастания |
|
reversed(my_list) |
Возвращает новый список со значениями в обратном порядке |
Более продвинутое использование
Вот еще несколько полезных методов для работы со списками в Python
append()
: добавляет элемент в конец списка
1
2
3
|
my_list = ['apple', 'banana', 'cherry']
my_list.append('orange')
print(my_list) # ['apple', 'banana', 'cherry', 'orange']
|
insert()
: вставляет элемент в определенную позицию в списке
1
2
3
|
my_list = ['apple', 'banana', 'cherry']
my_list.insert(1, 'orange')
print(my_list) # ['apple', 'orange', 'banana', 'cherry']
|
remove()
: удаляет первое вхождение указанного элемента в список
1
2
3
|
my_list = ['apple', 'banana', 'cherry']
my_list.remove('banana')
print(my_list) # ['apple', 'cherry']
|
pop()
: удаляет элемент с указанным индексом или последний элемент, если индекс не указан, и возвращает удаленный элемент
1
2
3
4
|
my_list = ['apple', 'banana', 'cherry']
removed_element = my_list.pop(1)
print(my_list) # ['apple', 'cherry']
print(removed_element) # 'banana'
|
clear()
: удаляет все элементы из
1
2
3
|
my_list = ['apple', 'banana', 'cherry']
my_list.clear()
print(my_list) # []
|
sort()
:списка, упорядочивает элементы в списке в порядке возрастания (или по убыванию, если для параметра reverse установлено значение True)
1
2
3
|
my_list = [3, 2, 1]
my_list.sort()
print(my_list) # [1, 2, 3]
|
reverse()
:изменяет порядок элементов в списке на противоположный
1
2
3
|
my_list = ['apple', 'banana', 'cherry']
my_list.reverse()
print(my_list) # ['cherry', 'banana', 'apple']
|
Генераторы списков
Понимание списков и срезы - это две мощные функции структуры данных списков Python. Понимание списка - это краткий способ создания нового списка путем перебора существующего списка и применения некоторой операции к каждому элементу. С другой стороны, срезы позволяют вам извлечь часть списка, указав начальный и конечный индексы.
Синтаксис: [expression for item in iterable]
- Let’s say we have a list of numbers and we want to create a new list with each number multiplied by 2:
1
2
3
4
|
numbers = [1, 2, 3, 4, 5]
new_numbers = [num * 2 for num in numbers]
print(new_numbers) # [2, 4, 6, 8, 10]
We can also use an if statement to filter the items that are included in the new list:
|
1
2
3
|
numbers = [1, 2, 3, 4, 5]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers) # [2, 4]
|
Срезы
Синтаксис: list[start_index:end_index:step]
- Let’s say we have a list of numbers and we want to extract the second through fourth elements:
1
2
3
4
|
numbers = [1, 2, 3, 4, 5]
new_list = numbers[1:4]
print(new_list) # [2, 3, 4]
We can also use negative indices to start counting from the end of the list:
|
1
2
3
|
numbers = [1, 2, 3, 4, 5]
new_list = numbers[-3:-1]
print(new_list) # [3, 4]
|
- We can also use a step value to skip elements:
1
2
3
|
numbers = [1, 2, 3, 4, 5]
new_list = numbers[::2]
print(new_list) # [1, 3, 5]
|
Как list comprehensions, так и slices - это мощные инструменты для работы со списками на Python, позволяющие вам с легкостью выполнять сложные операции со списками.
Еще приемы
- Объединение списков: Вы можете объединить два или более списков, используя оператор +. Вот пример:
1
2
3
4
|
list1 = [1, 2, 3]
list2 = [4, 5, 6]
concatenated_list = list1 + list2
print(concatenated_list) # [1, 2, 3, 4, 5, 6]
|
- Повторение списка: Вы можете повторить список несколько раз, используя оператор *. Вот пример:
1
2
3
|
list1 = [1, 2, 3]
repeated_list = list1 * 3
print(repeated_list) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
|
- Проверка наличия элемента в списке: Вы можете проверить, присутствует ли элемент в списке, используя ключевое слово in. Вот пример:
1
2
3
|
list1 = [1, 2, 3]
print(2 in list1) # True
print(4 in list1) # False
|
- Определение длины списка: Вы можете найти количество элементов в списке с помощью функции end(). Вот пример:
1
2
|
list1 = [1, 2, 3]
print(len(list1)) # 3
|
- Вы также можете отсортировать список в обратном порядке, передав методу sort() параметр reverse=True:
1
2
3
|
list1 = [1, 2, 3]
list1.sort(reverse=True)
print(list1) # [3, 2, 1]
|