124 lines
5.5 KiB
Markdown
124 lines
5.5 KiB
Markdown
---
|
||
title: Lists
|
||
localeTitle: Списки
|
||
---
|
||
**TODO: `list` основных сведений**
|
||
|
||
[Документы Python - Списки](https://docs.python.org/3/library/stdtypes.html#lists)
|
||
|
||
**Создание:**
|
||
|
||
Пустой `list` создается с помощью пары квадратных скобок:
|
||
|
||
```shell
|
||
>>> empty_list = []
|
||
>>> type(empty_list)
|
||
<class 'list'>
|
||
>>> len(empty_list)
|
||
0
|
||
```
|
||
|
||
`list` может быть создан с помощью элементов, заключая в список разделенных запятыми элементов с квадратными скобками. Списки позволяют использовать элементы разных типов (гетерогенные), но чаще всего однотипные (однородные):
|
||
|
||
```shell
|
||
>>> homogeneous_list = [1, 1, 2, 3, 5, 8]
|
||
>>> type(homogeneous_list)
|
||
<class 'list'>
|
||
>>> print(homogeneous_list)
|
||
[1, 1, 2, 3, 5, 8]
|
||
>>> len(homogeneous_list)
|
||
6
|
||
>>> heterogeneous_list = [1, "Hello Campers!"]
|
||
>>> print(heterogeneous_list)
|
||
[1, "Hello Campers!"]
|
||
>>> len(heterogeneous_list)
|
||
2
|
||
```
|
||
|
||
Конструктор `list` также можно использовать для создания `list` :
|
||
|
||
```shell
|
||
>>> empty_list = list() # Creates an empty list
|
||
>>> print(empty_list)
|
||
[]
|
||
>>> list_from_iterable = list("Hello campers!") # Creates a list from an iterable.
|
||
>>> print(list_from_iterable)
|
||
['H', 'e', 'l', 'l', 'o', ' ', 'c', 'a', 'm', 'p', 'e', 'r', 's', '!']
|
||
```
|
||
|
||
**Доступ к элементам `list` :**
|
||
|
||
```shell
|
||
>>> my_list = [1, 2, 9, 16, 25]
|
||
>>> print(my_list)
|
||
[1, 2, 9, 16, 25]
|
||
```
|
||
|
||
_Нулевой индекс_
|
||
|
||
```shell
|
||
>>> my_list[0]
|
||
1
|
||
>>> my_list[1]
|
||
2
|
||
>>> my_list[2]
|
||
9
|
||
```
|
||
|
||
_Обтекание индексации_
|
||
|
||
```shell
|
||
>>> my_list[-1]
|
||
25
|
||
>>> my_list[-2]
|
||
16
|
||
```
|
||
|
||
_Распаковка списков для python-3_
|
||
|
||
```shell
|
||
>>> print(*my_list)
|
||
1 2 9 16 25
|
||
```
|
||
|
||
**Mutable:**
|
||
|
||
`lists` являются изменяемыми контейнерами. Конвертируемые контейнеры представляют собой контейнеры, которые допускают внесение изменений в объекты, содержащиеся в контейнере. **TODO: ДОБАВИТЬ БОЛЬШЕ?**
|
||
|
||
_Переустановка элементов в списке_
|
||
|
||
Элементы из `list` могут быть извлечены и перенастроены с использованием другого `list` качестве индекса.
|
||
|
||
```shell
|
||
>>> my_list = [1, 2, 9, 16, 25, 34, 53, 21]
|
||
>>> my_index = [5, 2, 0]
|
||
>>> my_new_list = [my_list[i] for i in my_index]
|
||
>>> print(my_new_list)
|
||
[34, 9, 1]
|
||
```
|
||
|
||
**TODO: Какие из них следует обсудить здесь:**
|
||
|
||
[Документы Python - дополнительные сведения о списках](https://docs.python.org/3/tutorial/datastructures.html#more-on-lists)
|
||
|
||
* `list.append(x)` Добавить элемент в конец списка. Эквивалентен \[len (a):\] = \[x\].
|
||
|
||
* `list.extend(L)` Расширить список, добавив все элементы в данный список. Эквивалентен \[len (a):\] = L.
|
||
|
||
* `list.insert(i, x)` Вставить элемент в заданную позицию. Первый аргумент - это индекс элемента, перед которым нужно вставить, поэтому a.insert (0, x) вставлен в начале списка, а a.insert (len (a), x) эквивалентен a.append ( Икс).
|
||
|
||
* `list.remove(x)` Удалить первый элемент из списка, значение которого равно x. Это ошибка, если такой элемент отсутствует.
|
||
|
||
* `list.pop([i])` Удалите элемент в указанной позиции в списке и верните его. Если индекс не указан, a.pop () удаляет и возвращает последний элемент в списке. (Квадратные скобки вокруг i в сигнатуре метода означают, что параметр является необязательным, а не то, что вы должны вводить квадратные скобки в этой позиции. Вы часто увидите эту нотацию в Справочнике по библиотеке Python.)
|
||
|
||
* `list.clear()` Удалить все элементы из списка. Эквивалентен del a \[:\].
|
||
|
||
* `list.index(x)` Возвращает индекс в списке первого элемента, значение которого равно x. Это ошибка, если такой элемент отсутствует.
|
||
|
||
* `list.count(x)` Возвращает количество раз, когда x отображается в списке.
|
||
|
||
* `list.sort(key=None, reverse=False)` Сортировка элементов списка на месте (аргументы могут использоваться для настройки сортировки, см. sorted () для их объяснения).
|
||
|
||
* `list.reverse()` элементы списка на место.
|
||
|
||
* `list.copy()` Верните мелкую копию списка. Эквивалентен \[:\]. |