Python List
Последовательности — это самые основные структуры данных в Python. Каждому элементу в последовательности присваивается номер — его позиция или индекс. Первый индекс — 0, второй индекс — 1, и так далее.
В Python есть 6 встроенных типов последовательностей, но самые распространённые — это списки и кортежи.
Операции, которые можно выполнять над всеми последовательностями, включают индексацию, срезы, сложение, умножение и проверку принадлежности.
Кроме того, Python имеет встроенные методы для определения длины последовательности, а также для определения наибольшего и наименьшего элементов.
Списки — самый часто используемый тип данных Python; они могут быть представлены в виде значений, разделённых запятыми, в квадратных скобках.
Элементы данных списка не обязательно должны быть одного и того же типа.
Чтобы создать список, просто заключите различные элементы данных, разделённые запятыми, в квадратные скобки. Как показано ниже:
Как и в случае индексации строк, индексация списков начинается с 0. Списки можно нарезать, объединять и так далее.
Доступ к значениям в списке
Используйте индексацию для доступа к значениям в списке. Аналогично можно использовать квадратные скобки для среза символов, как показано ниже:
Пример (Python 2.0+)
Вывод приведенного выше примера:
list1[0]: physics list2[1:5]: [2, 3, 4, 5]
Обновление списка
Вы можете изменять или обновлять элементы данных списка. Вы также можете использовать метод append() для добавления элементов списка, как показано ниже:
Пример (Python 2.0+)
Примечание:Мы обсудим использование метода append() в последующей главе.
Вывод приведенного выше примера:
['Google', 'Example']
Удаление элементов списка
Вы можете использовать инструкцию del для удаления элементов списка, как в следующем примере:
Пример (Python 2.0+)
Вывод приведенного выше примера:
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]
Примечание:Мы обсудим использование метода remove() в последующей главе.
Операторы списков Python
Списки используют операторы + и * аналогично строкам. Знак + используется для объединения списков, а знак * — для повторения списков.
Как показано ниже:
| Выражение Python | Результат | Описание |
|---|---|---|
| len([1, 2, 3]) | 3 | Длина |
| [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | Комбинация |
| ['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | Повторение |
| 3 in [1, 2, 3] | True | Наличие элемента в списке |
| for x in [1, 2, 3]: print x, | 1 2 3 | Итерация |
Срезы списков Python
Пример среза списка Python выглядит следующим образом:
Описание:
| Выражение Python | Результат | Описание |
|---|---|---|
| L[2] | 'Taobao' | Прочитать третий элемент в списке |
| L[-2] | 'Example' | Прочитать предпоследний элемент в списке |
| L[1:] | ['Example', 'Taobao'] | Срез списка, начиная со второго элемента |
Функции & методы списков Python
Python включает следующие функции:
| Нет. | Функция |
|---|---|
| 1 | cmp(list1, list2) Сравнение элементов двух списков |
| 2 | len(list) Количество элементов списка |
| 3 | max(list) Возвращает максимальное значение элементов списка |
| 4 | min(list) Возвращает минимальное значение элементов списка |
| 5 | list(seq) Преобразует кортеж в список |
Python включает следующие методы:
| Нет. | Метод |
|---|---|
| 1 | list.append(obj) Добавляет новый объект в конец списка |
| 2 | list.count(obj) Подсчитывает, сколько раз элемент встречается в списке |
| 3 | list.extend(seq) Добавить несколько значений из другой последовательности в конец списка сразу (расширить исходный список новым списком) |
| 4 | list.index(obj) Найти индекс позиции первого совпадающего элемента значения в списке |
| 5 | list.insert(index, obj) Вставить объект в список |
| 6 | list.pop([index=-1]) Удалить элемент из списка (по умолчанию последний элемент) и вернуть значение этого элемента |
| 7 | list.remove(obj) Удалить первый совпадающий элемент значения в списке |
| 8 | list.reverse() Изменить порядок элементов в списке на обратный |
| 9 | list.sort(cmp=None, key=None, reverse=False) Отсортировать исходный список |