Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Списки в Python: Полное руководство по созданию, методам и операциям

Последовательности и списки

Базовая структура данных в Python — последовательность (sequence). Каждому элементу присваивается номер — позиция или индекс. Первый индекс — 0, второй — 1 и так далее.

В Python шесть встроенных типов последовательностей, но наиболее распространены списки (lists) и кортежи (tuples).

Все последовательности поддерживают: индексацию, срезы, сложение, умножение, проверку принадлежности. Встроенные функции: длина (len), максимум (max), минимум (min).

Списки в Python

Список — самый универсальный тип данных. Записывается как значения, разделённые запятыми, в квадратных скобках. Важно: элементы списка могут быть разных типов.

Создание списка — просто перечисление значений в квадратных скобках:

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5]
list3 = ["a", "b", "c", "d"]

Как и со строками, индексы начинаются с 0, списки можно срезать, конкатенировать и т.д.

Доступ к значениям в списках

Для доступа используются квадратные скобки со срезами и индексами:

Live Demo
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7]
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

Результат:

list1[0]: physics
list2[1:5]: [2, 3, 4, 5]

Обновление списков

Можно обновить один или несколько элементов, задав срез слева от оператора присваивания. Метод append() добавляет элемент в конец.

Live Demo
#!/usr/bin/python
list = ['physics', 'chemistry', 1997, 2000]
print "Value available at index 2 : "
print list[2]
list[2] = 2001
print "New value available at index 2 : "
print list[2]

Примечание: append() описан ниже.

Результат:

Value available at index 2 : 1997
New value available at index 2 : 2001

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

Для удаления используйте del, если знаете точный индекс, или метод remove(), если нет.

Live Demo
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000]
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1

Результат:

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 : ['physics', 'chemistry', 2000]

Примечание: remove() описан ниже.

Основные операции со списками

Списки реагируют на + и * как строки: конкатенация и повторение, но результат — новый список, не строка. Поддерживают все общие операции последовательностей.

Выражение 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Итерация

Индексация, срезы и матрицы

Поскольку списки — последовательности, индексация и срезы работают как для строк.

Дано: L = ['spam', 'Spam', 'SPAM!']

ВыражениеРезультатОписание
L[2]SPAM!Смещение начинается с нуля
L[-2]SpamОтрицательный: отсчёт с конца
L[1:]['Spam', 'SPAM!']Срез извлекает секции

Встроенные функции и методы списков

Функции:

№Функция и описание
1cmp(list1, list2) — сравнивает элементы обоих списков
2len(list) — общая длина списка
3max(list) — элемент с максимальным значением
4min(list) — элемент с минимальным значением
5list(seq) — преобразует кортеж в список

Методы:

№Метод и описание
1list.append(obj) — добавляет объект obj в конец списка
2list.count(obj) — количество вхождений obj в списке
3list.extend(seq) — добавляет содержимое seq в список
4list.index(obj) — наименьший индекс, где встречается obj
5list.insert(index, obj) — вставляет obj в позицию index
6list.pop(obj=list[-1]) — удаляет и возвращает последний элемент или obj
7list.remove(obj) — удаляет первое вхождение obj
8list.reverse() — переворачивает список на месте
9list.sort([func]) — сортирует список, использует func для сравнения если задан

Python

  1. Освоение типов данных в Python: практическое руководство
  2. Мастерство операторов Python: Полное руководство
  3. Оператор pass в Python: практическое руководство
  4. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  5. Освоение функции range() в Python: от основ к продвинутым сценариям
  6. Мастерство работы со списками Python: append, sort, len и list comprehensions — практическое руководство
  7. Вычисление среднего значения в Python: практическое руководство
  8. Python list.count(): экспертное руководство с практическими примерами
  9. Как удалить дубликаты из списка Python: 8 проверенных способов
  10. Как удалять элементы из списка Python: remove(), pop(), clear() и del