Массив Python против списка: различия и варианты использования

Опубликовано: 2021-11-03

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

Массивы и списки — это две важные структуры данных в Python, которые во многих аспектах похожи. Они оба могут использоваться для хранения данных и позволяют нам перебирать их, нарезать их и даже получать доступ к их элементам, используя метод индексации. Тогда в чем разница между списком и массивом в Python? Ну, это то, что мы собираемся обсудить в этой статье.

Оглавление

Массивы в Питоне

Массив представляет собой непрерывную структуру данных, которая содержит однородные элементы, т. е. элементы, принадлежащие к одному и тому же типу данных.

Ниже приведены основные характеристики массивов в Python:

  • Непрерывный характер массива позволяет хранить данные в смежных ячейках памяти . Это упрощает выполнение операций над элементами массива.
  • Массив в Python может быть объявлен двумя способами:
    • Использование модуля массива

import array # импорт модуля "массив"

myArray = array.array('i', [10, 20, 30]) # объявление массива

# созданный массив: [10, 20, 30]

Примечание. В приведенном выше объявлении необходимо указать код формата. Здесь «i» — это код формата, обозначающий целое число.

  • Использование модуля NumPy

import numpy # импорт модуля 'numpy'

myArray = numpy.array([10, 20, 30]) # объявление массива

# созданный массив: [10, 20, 30]

  • Элементы массива упорядочены . Каждый элемент имеет связанный целочисленный индекс. Например, в arr[10, 20, 30] «10», «20» и «30» хранятся в памяти с индексами 0, 1 и 2 соответственно.

Примечание. Индексация массива в Python начинается с 0.

  • Массив может содержать только значения одного типа, т.е. однородные элементы. Например,

обр[1, 2, 3]

обр ['а', 'б', 'с']

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

На самом деле массивы NumPy обычно используются для хранения данных из больших наборов данных в науке о данных и машинном обучении. Каждый массив NumPy соответствует функции в наборе данных.

Списки в Python

Список — это один из четырех встроенных контейнеров или структур данных, поддерживаемых в Python. Одним из основных преимуществ использования списков является то, что один список может содержать значения нескольких типов данных.

Ниже приведены основные характеристики списков в Python:

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

[1, 'привет', ['х', 'у']]

  • Списки также упорядочены , и доступ к элементам, хранящимся в списке, можно получить, используя их индексы. Отрицательные индексы могут использоваться для доступа к элементу с конца списка. Например.,

myList = [20, 40, 'привет', 'мир']

# печать предпоследнего элемента

печать (мойСписок[-2])

Выход

  • Списки можно легко изменить после инициализации списка. Чтобы изменить любое значение, получите к нему доступ, используя индекс элемента.

автомобили = ['Форд', 'Тесла', 'Ягуар']

автомобили[2] = 'БМВ'

  • Многомерные списки также могут быть реализованы в Python с использованием концепции вложенных списков. Эти многомерные списки можно использовать в Python как многомерные массивы.

мойАрр = [[1, 2], [3, 4]]

# создал двумерный массив:

# |1, 2|

# |3, 4|

Реальным вариантом использования многомерного разнородного списка в Python может быть хранение набора сведений о продукте, таких как тип продукта, категория, себестоимость, цена продажи и т. д. Каждый список в таком многомерном списке представляет собой продукт. Поскольку списки изменяемы, становится проще изменить детали продукта, когда мы захотим.

Если вы начинающий разработчик Python, ключевым аспектом является освещение основных различий между массивом и списком в Python. Итак, без лишних слов, давайте сразу перейдем к табличному описанию Python Array vs. List.

Знайте разницу между массивом и списком в Python

Python Array vs List : кто победит?

ПАРАМЕТР

СПИСОК МНОЖЕСТВО

Декларация

Списки не нужно объявлять, поскольку они встроены в Python.

список = [ 10 , 20 , 30 ]

Вам нужно импортировать модуль массива или библиотеку NumPy , чтобы объявить массив.

my_arr_1 = массив.массив( 'i' , [ 10 , 20 , 30 ])

Тип данных

Один список может содержать значения, принадлежащие разным типам данных.

myList = [ 40 , 'привет' , 'м' ]

Все элементы массива должны быть одного типа данных.

myArr = массив.array(i, [ 1 , 0 , 9])

Размер

Список Python может изменять размер , так как во время инициализации списка Python инициализирует некоторые дополнительные элементы. Массивы имеют постоянный размер, который нельзя изменить.

Космос/

Память

Потребляет больше места и памяти для добавления или удаления элементов.

Хранит данные в более компактном виде.

Хранилище данных

Предпочтительно для хранения небольшого количества данных.

Предпочтительно для хранения большого количества данных

Математические операции

Не может использоваться для математических операций напрямую.

Элементами массива можно легко манипулировать с помощью сложных математических операций.

Данные дисплея

Элементы списка могут отображаться без цикла

my_List = [ 1 , «Деннис» , [ 'a' , 'b' ]]

печать (мой_список)

Цикл должен быть необходим для отображения элементов массива.

массив импорта

my_Arr = array.array( 'i' , [ 1 , 2 , 3 ])

для я в my_Arr:

печать (я)

Python Array vs List : кто победит?

Если вы читаете этот раздел, значит, теперь вы хорошо знакомы с разницей между списком и массивом в Python. Однако вы также должны знать, когда использовать Array или List в вашей программе.

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

Тип элементов

Если тип данных заранее не определен, существует набор данных, принадлежащих нескольким типам. Например, для хранения записи о студентах, имеющих такие объекты, как имя(строка) , идентификатор(целое число) и оценки(плавающая) , список является предпочтительным выбором.

Если данные, которые нужно сохранить, относятся к одному и тому же типу данных, то здесь может быть предпочтительнее массив или список . Затем выбор будет зависеть от других параметров, таких как размер данных, выполняемые операции и использование.

Потребление памяти

Потребление памяти в списках больше, так как при инициализации списка выделяется дополнительное пространство. Если объем сбора данных относительно меньше, то эффективным выбором здесь будет список .

Источник изображения: webcourses@UCF

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

Источник изображения: webcourses@UCF

Поддерживаемые операции

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

С другой стороны, массивы следует использовать, когда необходимо выполнить математические операции. Модуль NumPy поддерживает множество сложных математических операций, включая тригонометрические и логарифмические операции.

Модуль для импорта

Список можно объявить без импорта какого-либо модуля или библиотеки . Его можно определить так же, как обычную переменную, поскольку это встроенная структура данных в Python.

Однако массив не является одним из контейнеров Python по умолчанию. Есть два самых популярных модуля — array и NumPy . Каждый модуль поставляется с некоторыми предопределенными функциями для манипулирования и управления данными, хранящимися в массиве.

Заключение

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

Если вы хотите начать свое путешествие в науке о данных, зарегистрируйтесь в UpGrad Data Science . конечно сегодня. Ознакомьтесь с обширной коллекцией курсов на upGrad чтобы начать свою карьеру.

Когда использовать массив над списком в Python?

Массив Python предпочтительнее списка в различных сценариях:

1. Поскольку массив в Python более компактен и потребляет меньше памяти, чем список, предпочтительнее использовать массив, когда необходимо хранить большой объем данных.
2. Нет необходимости использовать список для хранения данных, когда все элементы имеют один и тот же тип данных, и, следовательно, массив здесь будет более эффективным.
3. С данными, хранящимися в массиве, можно легко манипулировать математически, тогда как со списком это довольно неудобно.

Что быстрее между массивом и списком в Python?

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

Более того, массивы Python реализованы на C, что делает его намного быстрее, чем списки, встроенные в сам Python.

Когда список больше подходит для хранения данных в Python?

Список Python имеет большое значение для хранения данных и может использоваться во многих случаях:

1. Когда у вас есть различные элементы с разными типами данных, вы можете сохранить их в списке и получить доступ к этим элементам, просто обратившись к их индексам.
2. Список также может быть изменен. Следовательно, список полезен, когда вы не уверены в количестве элементов.
3. Списки крайне предпочтительны, когда требуется хранить небольшой объем данных, так как встроенные функции списка достаточно удобны для манипулирования данными.