Введение
В 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 = []ormy_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]
 |