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

Мастерство работы со списками Python: append, sort, len и list comprehensions — практическое руководство

Что такое список в Python?

Список (list) в Python — универсальный контейнер, способный хранить объекты любого типа: целые числа, строки, числа с плавающей точкой или даже другие списки. Он обозначается квадратными скобками [], в отличие от кортежей (tuples), использующих круглые скобки (). В отличие от кортежей, списки изменяемы: вы можете добавлять, удалять или менять элементы после создания.

В этом руководстве вы научитесь:

Примеры списков Python

Списки могут быть однородными (все элементы одного типа) или неоднородными (смешанные типы). Чёткие примеры:

# Однородные списки
int_list = [1, 2, 3, 8, 33]
animal_list = ['dog', 'cat', 'goat']
name_list = ['John', 'Travis', 'Sheila']
float_list = [2.2, 4.5, 9.8, 10.4]

# Неоднородные списки
mixed_list_1 = [2, 'cat', 34.33, 'Travis']
mixed_list_2 = [2.22, 33, 'pen']

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

Списки в Python индексируются с нуля. Отрицательный индекс -1 ссылается на последний элемент.

items = [3, 22, 30, 5.3, 20]
print(items[0])  # 3
print(items[1])  # 22
print(items[-1]) # 20

Срезы списков (slicing)

Срезы извлекают подпоследовательность с синтаксисом start:stop, где stop не включается.

items = [3, 22, 30, 5.3, 20]
print(items[:])    # Все элементы
print(items[1:3])  # [22, 30]
print(items[:4])   # [3, 22, 30, 5.3]
print(items[2:-1]) # [30, 5.3]

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

Измените элемент, присвоив новое значение по его индексу.

subjects = ['physics', 'chemistry', 'mathematics']
subjects[0] = 'biology'
print(subjects) # ['biology', 'chemistry', 'mathematics']

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

Три распространённых подхода:

nums = [3, 5, 7, 8, 9, 20]
nums.remove(3)  # [5, 7, 8, 9, 20]
nums.pop(2)     # удаляет 8
# del nums[0]   # удалил бы 5

Добавление элементов (append)

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

values = [3, 5, 7, 8, 9, 20]
values.append(3.33)
values.append('cats')
print(values) # [3, 5, 7, 8, 9, 20, 3.33, 'cats']

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

values = [1, 7, 9, 3, 5]
values.sort()
print(values) # [1, 3, 5, 7, 9]
values.sort(reverse=True)
print(values) # [9, 7, 5, 3, 1]

Итерация по спискам

Перебор элементов с циклом for, опционально с модификацией или построением нового списка.

nums = [10, 20, 30, 40, 50, 60, 70]
# Добавить 5 к каждому (не меняет оригинал)
for n in nums:
    print(n + 5)
# Построить новый список из среза
new_list = []
for n in nums[2:]:
    new_list.append(n)
print(new_list) # [30, 40, 50, 60, 70]

List Comprehensions (генераторы списков)

List comprehensions дают лаконичный синтаксис для создания списков из итерируемых объектов. Они быстрее и читаемее эквивалентных for-циклов.

# Квадраты чисел от 1 до 9
squares = [x**2 for x in range(1, 10)]
print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81]

Резюме

Python

  1. Освоение типов данных в Python: практическое руководство
  2. Мастерство операторов Python: Полное руководство
  3. Оператор pass в Python: практическое руководство
  4. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  5. Словари в Python: создание, манипуляции и продвинутые техники
  6. Итераторы в Python: как они работают и как создать свои
  7. Замыкания в Python: как вложенные функции захватывают переменные
  8. Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам
  9. Вычисление среднего значения в Python: практическое руководство
  10. Python list.count(): экспертное руководство с практическими примерами