Слияние, понимание списка и добавление элементов

Список - один из встроенных типов данных в Python. Он используется для хранения нескольких объектов Python (целых, плавающих, строковых и т. Д.) В одной переменной. Элементы помещаются в пару квадратных скобок.

list_1 = [1, 0, 10] # A list of integers
list_2 = [5.3, 10.0, 7.5] # A list of floats
list_3 = ['A', 'I', 'Help', 'Thanks'] # A list of strings
list_4 = [1, 5.3, 'A'] # A list of mixed Python objects!

Некоторые интересные факты о списках Python

  • Отдельные элементы в списке можно выбрать с помощью индексации с отсчетом от нуля (ноль для первого элемента).
  • Списки изменяемы. Мы можем добавлять или удалять элементы или изменять значение элемента в списке после его создания.
  • В один список могут быть включены элементы разных типов данных.
  • Конструктор list () можно использовать для создания нового списка.
  • Список последующих целых чисел можно создать с помощью функции range () внутри конструктора list ().

Некоторые расширенные операции в списках Python

В списках Python есть много операций. Здесь больше внимания будет уделено объединению, пониманию списка и добавлению элементов.

1. Объединение списков с помощью функции zip ()

Функция zip () объединяет два списка в новый список, беря соответствующие элементы из двух списков. В результате получается застежка-молния. Мы можем поместить этот объект в конструктор list (), чтобы открыть новый список кортежей.

list_1 = [1, 2, 3]
list_2 = ['one', 'two', 'tree']
list(zip(list_1, list_2))

Мы также можем объединить два списка с разной длиной. В этом случае новый список создается в пользу самого короткого списка.

list_1 = [1, 2, 3, 4, 5] # 5 elements
list_2 = ['one', 'two', 'tree'] # Only 3 elements
list(zip(list_1, list_2))

2. Понимание списка

Понимание списка - это метод однострочного кода, используемый для создания нового списка путем итерации элементов внутри списка. Новый список создается таким образом, чтобы исходные элементы списка удовлетворяли определенному выражению или условию или обоим.

Синтаксис:

[<expression> for <variable> in <list>]

Представьте, что у нас есть следующий список.

new_list = [1, 2, 3, 4, 5]

Теперь мы хотим создать новый список, содержащий квадратные значения всех элементов в приведенном выше списке. Для этого мы можем использовать составление списков.

[x**2 for x in new_list]

Составление списка также может содержать условие. В этом случае синтаксис следующий:

[<expression> for <variable> in <list> if <condition>]

Теперь мы хотим создать новый список, содержащий квадратные значения выбранных элементов (например, нечетных чисел) в исходном списке. Для этого мы можем использовать понимание списка с условием.

[x**2 for x in new_list if x % 2 == 1]

3. Добавить элементы

Предыдущие две операции не изменили исходные списки, над которыми выполнялись операции. Но добавление элементов - это операция на месте, которая напрямую изменяет исходный список. Эта операция добавляет элементы в конец списка. Это можно сделать с помощью метода append () объекта списка.

Обычно мы создаем пустой список, а затем добавляем элементы по мере необходимости. Вышеупомянутая проблема квадратного значения также может быть решена с помощью этого подхода.

a = [] # Empty list
for i in new_list:
  sq = i**2
  a.append(sq)
a

При создании a представляет собой пустой список. Теперь a был изменен и содержит 5 элементов, что означает, что операция добавления была выполнена на месте.

Операция добавления очень полезна, если вы хотите сохранить вычисленные значения для построения графика в более позднее время. Например,

x = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
y = []
for i in x:
  ex = i**3
  y.append(ex)
import matplotlib.pyplot as plt
plt.plot(x, y)

Координаты можно увидеть с помощью операции слияния!

coordinates = list(zip(x, y))
coordinates

Заключение

Списки Python очень полезны, потому что мы можем выполнять с ними некоторые расширенные операции, используя всего одну или две строки кода. Отличной альтернативой спискам Python являются массивы NumPy, особенно если рассматривать производительность. При выполнении массивы NumPy значительно быстрее списков Python. Однако мы можем легко создавать массивы NumPy, используя списки Python или преобразовывать списки в массивы. Список Python - это встроенный тип данных. Он тесно связан с другими типами данных и библиотеками Python.

Мои читатели могут подписаться на членство по следующей ссылке, чтобы получить полный доступ ко всем рассказам, которые я пишу, и я получу часть вашего членского взноса.

Ссылка для регистрации: https://rukshanpramoditha.medium.com/membership

Большое спасибо за вашу постоянную поддержку! Увидимся в следующей истории. Всем удачи!

Особая благодарность Крису Лоутону на Unsplash, который предоставил мне красивую обложку для этого сообщения.

Рукшан Прамодитха
2021–08–28