Содержание

Массивы в Python | Кодкамп

Введение

Примеры

Основное введение в массивы

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

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

Если вы новичок в Python, начните со статьи Введение в Python.

Для использования массивов в языке Python, вам нужно импортировать стандартный array модуль. Это потому , что массив не является основным типом данных , как строки, целое число и т.д. Вот как вы можете импортировать array модуля в Python:

 from array import *

 

После того, как вы импортировали array модуль, вы можете объявить массив. Вот как вы это делаете:

 arrayIdentifierName = array(typecode, [Initializers])

 

В приведенном выше объявлении,

arrayIdentifierName этого имя массива, typecode позволяет питону знать тип массива и Initializers являются значением , с которыми массив инициализируется.

Typecodes — это коды, которые используются для определения типа значений массива или типа массива. Таблица в разделе параметров показывает возможные значения, которые вы можете использовать при объявлении массива, и его тип.

Вот реальный пример объявления массива python:

 my_array = array('i',[1,2,3,4])

 

В приведенном выше примере, используется TypeCode i . Этот тип-тип представляет целое число со знаком, размер которого составляет 2 байта.

Вот простой пример массива, содержащего 5 целых чисел

 from array import *
my_array = array('i', [1,2,3,4,5])
for i in my_array:
    print(i)
# 1
# 2
# 3
# 4
# 5 

Доступ к отдельным элементам через индексы

Отдельные элементы могут быть доступны через индексы. Массивы Python индексируются нулем. Вот пример:

 my_array = array('i', [1,2,3,4,5])
print(my_array[1])
# 2
print(my_array[2])
# 3
print(my_array[0])
# 1 

Добавить любое значение в массив с помощью метода append ()

 my_array = array('i', [1,2,3,4,5])
my_array.append(6)
# array('i', [1, 2, 3, 4, 5, 6])

 

Заметим , что значение 6 был приложен к существующим значениям массива.

Вставить значение в массив с помощью метода insert ()

Мы можем использовать insert() метод , чтобы вставить значение в любом индекса массива. Вот пример:

 my_array = array('i', [1,2,3,4,5])
my_array.insert(0,0)
#array('i', [0, 1, 2, 3, 4, 5])

 

В приведенном выше примере значение 0 было вставлено в индекс 0. Обратите внимание, что первый аргумент является индексом, а второй аргумент является значением.

Расширение массива python с помощью метода extend ()

Массив Python может быть расширен с более чем одно значение с помощью extend() метод. Вот пример:

 my_array = array('i', [1,2,3,4,5])
my_extnd_array = array('i', [7,8,9,10])
my_array.extend(my_extnd_array)
# array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10])

 

Мы видим , что my_array массив был расширен со значениями из

my_extnd_array .

Добавить элементы из списка в массив, используя метод fromlist ()

Вот пример:

 my_array = array('i', [1,2,3,4,5])
c=[11,12,13]
my_array.fromlist(c)
# array('i', [1, 2, 3, 4, 5, 11, 12, 13])

 

Итак , мы видим , что значения 11,12 и 13 были добавлены из списка c к my_array .

Удалите любой элемент массива, используя метод remove ()

Вот пример:

 my_array = array('i', [1,2,3,4,5])
my_array.remove(4)
# array('i', [1, 2, 3, 5])

 

Мы видим, что элемент 4 был удален из массива.

Удалить последний элемент массива методом pop ()

pop удаляет последний элемент из массива. Вот пример:

 my_array = array('i', [1,2,3,4,5])
my_array.pop()
# array('i', [1, 2, 3, 4])

 

Итак , мы видим , что последний элемент (

5 ) был выскочили из массива.

Получить любой элемент через его индекс с помощью метода index ()

index() возвращает первый индекс значения соответствия. Помните, что массивы с нулевой индексацией.

 my_array = array('i', [1,2,3,4,5])
print(my_array.index(5))
# 5
my_array = array('i', [1,2,3,3,5])
print(my_array.index(3))
# 3

 

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

Обратный массив Python, используя метод reverse ()

reverse() метод делает то , что название говорит , что это будет делать — изменяет массив. Вот пример:

 my_array = array('i', [1,2,3,4,5])
my_array.reverse()
# array('i', [5, 4, 3, 2, 1]) 

Получить информацию о буфере массива с помощью метода buffer_info ()

Этот метод предоставляет вам начальный адрес буфера массива в памяти и количество элементов в массиве. Вот пример:

 my_array = array('i', [1,2,3,4,5])
my_array.buffer_info()
(33881712, 5) 

Проверьте количество вхождений элемента с помощью метода count ()

count()count() возвращает число раз , и представляется , что элемент в массиве. В следующем примере мы видим , что значение 3 происходит дважды.

 my_array = array('i', [1,2,3,3,5])
my_array.count(3)
# 2 

Преобразовать массив в строку, используя метод tostring ()

tostring() преобразует массив в строку.

 my_char_array = array('c', ['g','e','e','k'])
# array('c', 'geek')
print(my_char_array.tostring())
# geek 

Преобразовать массив в список Python с теми же элементами, используя метод tolist ()

Когда вам нужен Python

list объектов, вы можете использовать tolist() метод , чтобы преобразовать ваш массив в список.

 my_array = array('i', [1,2,3,4,5])
c = my_array.tolist()
# [1, 2, 3, 4, 5] 

Добавить строку в массив char с помощью метода fromstring ()

Вы можете добавить строку в массив символов , используя fromstring()

 my_char_array = array('c', ['g','e','e','k'])
my_char_array.fromstring("stuff")
print(my_char_array)
#array('c', 'geekstuff') 

Синтаксис

Параметры

Примечания

Массивы в Python — Библиотека разработчика Programming Store

В Python нет встроенного типа «массив», но вместо него можно использовать встроенный тип «список» (list). Также при использовании библиотеки NumPy можно создавать объект типа

«массив» (Ndarray). Далее о каждом из этих двух вариантов подробнее.

Списки (list)

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

Создание

  • Создание пустого списка:
names = []
names = list()
  • Создание списка с элементами:
names = ['Иван', 'Женя', 'Ольга']
  • Создание списка на основе другого списка:
names = ['Иван', 'Женя', 'Ольга']
new_names = list(names)
  • Создание списка повторением какого-либо элемента или другого списка:
names = ['Иван', 'Женя', 'Ольга']
new_names = names * 2
  • Создание списка с помощью конструкции range():
numbers = list(range(10))

Функция range(10) возвращает числа от 0 до 9, на основе которых создаётся новый список.

Обращение к элементу

Обращение к элементу списка производится по индексу элемента:

names[0]

Индексы элементов начинаются с нулевого, то есть первый элемент списка имеет индекс «0», а второй — «1».

Обход элементов

Элементы списка можно обходить циклами for и while:

for name in names:
    print(name)

Сравнение

Списки можно сравнивать между собой. Для того, чтобы два списка считались равными, они должны иметь одинаковый состав. К примеру, следующие два списка будут равны, не смотря на разные способы их создания:

list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list2 = list(range(10))

Размерность

Список в Python может быть как одномерным, так и многомерным. Выше были приведены примеры одномерных списков. Чтобы список был многомерным, например, двухмерным, каждый элемент списка должен представлять собой другой список:

names = [['Иван', 19],
        ['Женя', 20],
        ['Ольга', 21]]

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

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

names = [['Иван', 19],
        ['Женя', 20],
        ['Ольга', 21]]
names[1][0]

Преобразование

Двумерный список можно преобразовать в словарь с парами «ключ-значение»:

names = [['Иван', 19],
        ['Женя', 20],
        ['Ольга', 21]]
new_dict = dict(names)

Матрицы

Двумерный список является матрицей, которую визуально можно представить в следующем виде:

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

Массивы NumPy (Ndarray)

Создание

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

import numpy as np

Для создания массива используется функция модуля numpy — array():

import numpy as np

new_array = np.array(['Иван', 'Женя', 'Ольга'])

В первый параметр функции array() передаётся список, поэтому способов создания столько же, сколько способов создания списков. При передаче в параметр многомерного списка будет создан многомерный массив:

import numpy as np

new_array = np.array([['Иван', 19],
                        ['Женя', 20],
                        ['Ольга', 21]])

Тип значения элементов

В данном примере элементы массива были приведены к строковому типу, так как каждый список главного списка содержал строковое значение. Тип значения элементов массива можно переопределять при создании массива, указывая его вторым параметром функции array():

import numpy as np

new_array = np.array([['Иван', 19],
                        ['Женя', 20],
                        ['Ольга', 21]], dtype=np.str)

Обращение к элементам

Обращение к элементам массива Ndarray производится аналогично получение элемента в многомерном списке.

Атрибуты класса Ndarray

Далее рассмотрим атрибуты класса Ndarray:

  • ndim — число измерений (осей) массива;
  • shape — размерность массива. Это tuple, содержащий натуральные числа (n, m) — длины массива по каждой оси (n — высота, m — ширина). Число элементов кортежа shape равно ndim.
  • size — количество элементов в массиве, равно произведению всех элементов атрибута shape;
  • dtype — тип элементов массива. NumPy предоставляет возможность использовать как встроенные типы, например: bool_, character, int8, int16, int32, int64, float8, float16, float32, float64, complex64, object_, так и собственные типы данных, в том числе и составные;
  • itemsize — размер каждого элемента массива в байтах;
  • data — буфер, содержащий фактические элементы массива. Обычно не нужно использовать этот атрибут, так как обращаться к элементам массива проще всего с помощью индексов.

Изменение размерности

Размерность массива darray в Python можно изменять методом reshape():

import numpy as np

new_array = np.array([['Иван', 19],
                        ['Женя', 20],
                        ['Ольга', 21]], dtype=np.str)
new_array.reshape(2, 3)

При этом количество элементов должно позволять это сделать, т.е. произведение элементов атрибута shape до и после изменения размера должно быть одинаковым. К примеру, нельзя изменить размерность массива с (3, 4) на (2, 5), но можно изменить её на (2, 6).

 

array в Python

Модуль предоставляет инструменты для работы с массивами.

В этом модуле определён тип array, позволяющий компактно размещать в памяти массивы, состоящие из объектов базовых типов: символы, целые, числа с плавающей запятой.Если требуется максимально эффективная работа с массивами, следует воспользоваться типом array из пакета NumPy.
Массивы, являясь последовательностью, очень похожи на списки, однако налагают ограничения на типы хранящихся в них объектов. Тип задаётся на этапе создания массива при помощи буквенного обозначения.

Начиная с +py3.0 буквенные обозначения доступны в виде строки в array.typecodes.

Код типаТип в СиТип в ПитонеМин. байтПримечание
b, B | знаковый/беззнаковый char соответственноint | 1
u | Py_UNICODE (wchar_t)Сивол Юникод2
h, Hзнаковый/беззнаковый short соответственноint2
i, Iзнаковый/беззнаковый int соответственноint2
l, L | знаковый/беззнаковый long соответственноint4
q, Qзнаковый/беззнаковый long long соответственноint8※※
f | floatfloat4 |
ddoublefloat8 |

Реальное представление значений определяется архитектурой машины, а точнее реализацией Си. Реальный занимаемый размер доступен в атрибуте itemsize.
※ Код u соответствует устаревшему в -py3.0 символу юникод (Py_UNICODE). В зависимости от платформы размер может быть 16 или 32 бита (на сборках с узкими и широкими символами Юникод соответственно).

Код u является устаревшим начиная с +py3.3, и будет удалён совсем Py_UNICODE API в версии -py4.0.


※※ В +py3.3 добавлены коды q и Q. Доступны на платформах, где компилятор Си, используйемый для сборки Питона, имеет поддержку long long (на Windows — __int64).

Python 2. Значения, хранимые в случаях L и I, будут представлены в виде длинных целых Питона, ввиду того, что обычное целое Питона не может вместить полный набор значений беззнаковых [длинных] целых из Си.

array.appendДобавляет элемент в конец массива. array.arrayНеизменяемая последовательность, позволяющая компактно хранить объект… array.ArrayType То же, что и array. array.byteswapМеняет порядок байтов каждого элемента в массиве. array.extendДополняет массив элементами из объекта, поддерживающего итерирование. array.frombytesДобавляет в массив элементы из указанных байтов. array.fromfileДобавляет в массив указанное количество элементов из указанного файла. array.fromlistДобавляет в массив элементы из указанного списка. array.fromstringДобавляет в массив элементы из указанной строки байт. array.fromunicodeДобавляет в массив элементы, заданные в юникод-строке. array.itemsizeСодержит размер одного элемента массива. array.typecodesСодержит перечисление всех поддерживаемых буквенных кодов типов данны…

Нежное введение в N-мерные массивы в Python с NumPy

Дата публикации 2018-01-31

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

В Python массивы из библиотеки NumPy, называемые N-мерными массивами или ndarray, используются в качестве основной структуры данных для представления данных.

В этом руководстве вы обнаружите N-мерный массив в NumPy для представления числовых данных и манипулирования данными в Python.

После завершения этого урока вы узнаете:

  • Что такое ndarray и как создать и проверить массив в Python.
  • Ключевые функции для создания новых пустых массивов и массивов со значениями по умолчанию.
  • Как объединить существующие массивы для создания новых массивов.

Давайте начнем.

Обзор учебника

Этот урок разделен на 3 части; они есть:

  1. NumPy N-мерный массив
  2. Функции для создания массивов
  3. Объединение массивов

NumPy N-мерный массив

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

Основной структурой данных в NumPy является ndarray, который является сокращенным именем для N-мерного массива. При работе с NumPy данные в ndarray просто называются массивом.

Это массив фиксированного размера в памяти, который содержит данные одного типа, такие как целые числа или значения с плавающей запятой.

Доступ к типу данных, поддерживаемому массивом, можно получить через атрибут «dtype» в массиве. Доступ к измерениям массива можно получить через атрибут «shape», который возвращает кортеж, описывающий длину каждого измерения. Есть множество других атрибутов. Узнайте больше здесь:

Простой способ создать массив из данных или простых структур данных Python, таких как список, — это использовать функцию array ().

В приведенном ниже примере создается список Python из трех значений с плавающей запятой, затем создается ndarray из списка и осуществляется доступ к форме и типу массивов.

# create array
from numpy import array
l = [1.0, 2.0, 3.0]
a = array(l)
print(a)
print(a.shape)
print(a.dtype)

При выполнении примера печатается содержимое ndarray, фигура, которая является одномерным массивом с 3 элементами, и тип данных, который является 64-битной плавающей точкой.

[ 1. 2. 3.]
(3,)
float64

Функции для создания массивов

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

Давайте посмотрим на несколько. Вы можете увидеть полный список здесь:

пустой

Функция empty () создаст новый массив указанной формы.

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

В приведенном ниже примере создается пустой трехмерный массив 3 × 3.

# create empty array
from numpy import empty
a = empty([3,3])
print(a)

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

[[ 0.00000000e+000 0.00000000e+000 2.20802703e-314]
[ 2.20803350e-314 2.20803353e-314 2.20803356e-314]
[ 2.20803359e-314 2.20803362e-314 2.20803366e-314]]

нули

Функция нулей () создаст новый массив указанного размера с содержимым, заполненным нулевыми значениями.

Аргументом функции является массив или кортеж, который определяет длину каждого измерения создаваемого массива.

В приведенном ниже примере создается нулевой двумерный массив размером 3 × 5.

# create zero array
from numpy import zeros
a = zeros([3,5])
print(a)

При выполнении примера печатается содержимое созданного нулевого массива.

[[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]]

Ones

Функция ones () создаст новый массив указанного размера с содержимым, заполненным одним значением.

Аргументом функции является массив или кортеж, который определяет длину каждого измерения создаваемого массива.

В приведенном ниже примере создается одномерный массив из 5 элементов.

# create one array
from numpy import ones
a = ones([5])
print(a)

При выполнении примера печатается содержимое созданного массива.

[ 1. 1. 1. 1. 1.]

Объединение массивов

NumPy предоставляет множество функций для создания новых массивов из существующих массивов.

Давайте рассмотрим две наиболее популярные функции, которые вам могут понадобиться или с которыми вы столкнетесь.

Вертикальный стек

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

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

Это продемонстрировано в примере ниже.

# vstack
from numpy import array
from numpy import vstack
a1 = array([1,2,3])
print(a1)
a2 = array([4,5,6])
print(a2)
a3 = vstack((a1, a2))
print(a3)
print(a3.shape)

Выполнение примера сначала печатает два отдельно определенных одномерных массива. Массивы вертикально сложены, что приводит к новому массиву 2 × 3, содержимое и форма которого печатаются.

[1 2 3]

[4 5 6]

[[1 2 3]
[4 5 6]]

(2, 3)

Горизонтальный стек

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

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

Это продемонстрировано в примере ниже.

# hstack
from numpy import array
from numpy import hstack
a1 = array([1,2,3])
print(a1)
a2 = array([4,5,6])
print(a2)
a3 = hstack((a1, a2))
print(a3)
print(a3.shape)

Выполнение примера сначала печатает два отдельно определенных одномерных массива. Затем массивы располагаются горизонтально, что приводит к созданию нового одномерного массива с 6 элементами, содержимое и форма которого печатаются

[1 2 3]

[4 5 6]

[1 2 3 4 5 6]

(6,)

расширения

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

  • Поэкспериментируйте с различными способами создания массивов ваших собственных размеров или с новыми данными.
  • Найдите и разработайте пример для 3 дополнительных функций NumPy для создания массивов.
  • Найдите и разработайте пример для 3 дополнительных функций NumPy для объединения массивов.

Если вы исследуете какое-либо из этих расширений, я хотел бы знать.

Дальнейшее чтение

Этот раздел предоставляет больше ресурсов по теме, если вы хотите углубиться.

книги

Рекомендации

API

Резюме

В этом руководстве вы обнаружили N-мерный массив в NumPy для представления числовых данных и манипулирования данными в Python.

В частности, вы узнали:

  • Что такое ndarray и как создать и проверить массив в Python.
  • Ключевые функции для создания новых пустых массивов и массивов со значениями по умолчанию.
  • Как объединить существующие массивы для создания новых массивов.

У вас есть вопросы?
Задайте свои вопросы в комментариях ниже, и я сделаю все возможное, чтобы ответить.

Оригинальная статья

Python массивы: как работать

Автор ArseniyDV На чтение 4 мин Просмотров 730 Опубликовано

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

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

Добавление нового массива

Перед процессом создание нового массива, необходимо выполнить некоторые действия. Для начала, стоит произвести импорт библиотеки, которая отвечает за работу с подобными объектами. Чтобы выполнить это действие, нужно добавить в файл программы следующую строку: from array import *.

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

Для создания нового массива данных используется такая функция, как «array». Ниже представлен пример того, как заполняется массив с помощью перечисленных действий:

from array import *
data = array(‘i’, [2, 5, 4, 0, 8])

Функция «array» способна принимать два аргумента, одним из них является вид массива, который создается, другим – исходный перечень значений массива. В этом примере i является числом, размер которого составляет 2 б. Стоит отметить, что можно использовать не только этот примитив, но и другие – c, f и т. д.

Не стоит забывать, что в массиве, как уже отмечалось ранее, могут храниться данные только одного типа. При несоблюдении данного условия, при запуске программы выдается ошибка. Квадратные скобки [] служат для обращения к тому или иному элементу.

Действия для добавления нового элемента

Для того, чтобы в массиве появился новый элемент, необходимо воспользоваться таким методом, как «insert». Это делается с помощью ввода в созданный ранее объект двух значений, являющихся аргументами. Цифра 3 представляет собой не что иное, как само значение, а 4 указывает на место в массиве, где будет располагаться элемент, т. е. его индекс.

Действия для удаления нового элемента

В рассматриваемом языке программирования избавиться от лишних элементов можно посредством такого метода, как «pop». Данный метод имеет аргумент (3) и может быть вызван через объект, который создавался ранее, т. е. способом, аналогичным добавлению нового элемента.

data.pop(3)

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

Проверка

Зачастую возникает необходимость проверки данных при работе с любой программой, которая проводится путем вывода на экран. Эта операция может быть совершена с помощью такой команды, как «print». Аргументом для этой функции является элемент массива, созданного ранее.

В нижеприведенном примере видно, что обработка массива происходит с помощью цикла «for», в котором любой элемент массива идентификатором i для передачи в «print».

После выполнения данных операций в виде столбца происходит поочередный вывод всех присвоенных до этого значений в виде целых чисел.

Двумерные и многомерные массивы

Часто возникают случаи, в которых одномерный массив оказывается слишком мал для иллюстрирования той или иной информации. К сожалению, в языке программирования «Python» отсутствует возможность создания двумерных и многомерных массивов, однако, возможно создание двумерных списков.

Как видно из представленного примера, в одном большом списке «d1» создается несколько списков «d2». Посредством двух циклов «for» две матрицы с размером 5 на 5 автоматически заполняются нулями. Метод «append» добавляет в список новый элемент (0), а метод «range» указывает на его величину (5).

Стоит также отметить, что в каждом новом цикле «for» используется своя переменная, которая выполняет представление текущего элемента внешнего (j) или внутренних (i) списков. Указание нужной ячейки в квадратных скобках с ориентацией на столбцы и строки d1[1][2] позволяет обратиться к данной ячейке из многомерного списка.

По тому же принципу строится и сложный список в виде многомерного массива.

Итог

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

Быстрый путеводитель по Python: cписки за 7 минут

Не путайте в Python списки и массивы: в первых можно хранить разнородные объекты. Здесь кратко описаны все основные методы списков Python 3.x.

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

В Python списки создаются двумя способами:

  1. С помощью квадратных скобок []
  2. С помощью функции list()

Элементы списка можно сразу поместить внутрь скобок. По умолчанию создается пустой list.

>>> # Рассмотрим создание списка на примере дел
... # Второй будем использовать для хранения абстрактной информации
... 
>>> todo_list = []
>>> general_info = list()
>>> type(todo_list), type(general_info)
(<class 'list'>, <class 'list'>)

Итак, мы создали два пустых списка. Заполним их данными.

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

  1. append()
  2. insert()

Добавление элемента методом

append()

append() добавляет в конец списка элемент, переданный в качестве аргумента:

>>> todo_list.append('Завтрак, зарядка, душ')
>>> todo_list.append('Чтение статей на proglib')
>>> todo_list.append('Дорога до работы')
>>> todo_list
['Завтрак, зарядка, душ', 'Чтение статей на proglib', 'Дорога до работы']

Добавление элемента методом

insert()

insert() принимает два аргумента – индекс позиции и вставляемый элемент:

>>> general_info.insert(0, 'Важные математические константы')
>>> general_info.insert(1, 1j)
>>> general_info.insert(2, 3.1415926)
>>> general_info.insert(3, False)
>>> general_info.insert(4, 1)
>>> general_info
['Важные математические константы', 1j, 3.1415926, False, 1]

Есть три способа:

  1. Оператор индекса
  2. Оператор среза
  3. Итерирование

Оператор индекса

Индекс используется для доступа к отдельному элементу.

>>> todo_list[2]
'Дорога до работы'
>>> general_info[1]
1j

Оператор среза

Срез применяется для обращения к нескольким элементам списка. Синтаксис: list_name[start:stop:step], где

  • start – индекс, с которого начинается срез (по умолчанию начало списка)
  • stop – индекс, до которого осуществляется срез (по умолчанию конец списка)
  • step – шаг приращения, по умолчанию равно 1
>>> general_info[:2]      # срез с начала до 2 индекса, не включая
['Важные математические константы', 1j]
>>> general_info[2:4]     # срез с индекса 2 по 3
[3.1415926, False]
>>> general_info[::2]     # чётные индексы
['Важные математические константы', 3.1415926, 1]

Обратите внимание: если указан индекс stop, то срез осуществляется вплоть до него, но исключая сам элемент.

Итерирование

Списки Python – итерируемые объекты. Для перебора элементов списка не нужен счетчик:

>>> for item in todo_list:
...     print(item)
... 
Завтрак, зарядка, душ
Чтение статей на proglib
Дорога до работы

Всего два метода:

  1. remove()
  2. pop()

Удаление элемента методом

remove()

remove() находит и удаляет элемент из списка:

>>> general_info.remove(False)
>>> general_info
['Важные математические константы', 1j, 3.1415926, 1]

Удаление элемента методом

pop()

pop() удаляет и возвращает элемент, по умолчанию последний:

>>> general_info.pop()
1
>>> general_info.pop()
3.1415926
>>> general_info
['Важные математические константы', 1j]

Посмотреть аттрибуты и функции объекта списка, как и других объектов Python, можно передав список функции dir(). Вот сокращенный вид выводимого функцией списка:

>>> dir(todo_list)
[...  'append', 'clear', 'copy', 'count', 'extend', 'index',
'insert', 'pop', 'remove', 'reverse', 'sort']

Ничего сложного, правда? 🙂

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

  1. a.append(e) – добавляет переданную переменную e в конец списка a
  2. a.clear() – удаляет все элементы из списка a
  3. a.copy() – возвращает копию списка a
  4. a.count(e) – возвращает число столько раз, сколько элемент e встречается в списке a
  5. a.extend(b) – добавляет все элементы списка b в конец списка a
  6. a.index(e) – находит и возвращает индекс первого элемента списка a, равного e
  7. a.insert(i, e) – вставляет элемент на позицию с индексом i
  8. a.pop(i) – возвращает и удаляет элемент с индексом (по умолчанию последний)
  9. a.remove(e) – удаляет элемент e из списка a
  10. a.reverse() – разворачивает в обратном порядке элементы списка a
  11. a.sort() – сортирует элементы списка a в восходящем порядке

Используйте списки Python, если от структуры данных нужно следующее:

  • Хранить объекты данных нескольких типов.
  • Сохранять очередность элементов и порядок вставки.
  • Хранить повторяющиеся значения.
  • Изменять элементы.

Источник

Python 3 Списки Методы Tutorial. Вывести Удалить элемент списка. List Index Sort — Python 3 | Data Science | Нейронные сети | AI

Содержание страницы

Python 3 Списки Методы Tutorial

python.ivan-shamaev.ru

Основная структура данных в Python — это последовательность

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

В Python есть шесть встроенных типов последовательностей, но наиболее распространенными являются списки и кортежи, которые мы увидим в этом учебнике (python 3 tutorial).

Есть ряд методов, которые применимы ко всем типам последовательностей. Эти операции включают в себя:

  • indexing (индексацию),
  • slicing (срезы),
  • adding (накопление/добавление),
  • multiplying (умножение) и
  • checking for membership (проверку членства).

Кроме того, в Python есть встроенные функции для определения длины последовательности и для нахождения ее самых больших и самых маленьких элементов.

Списки Python

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

Создать список просто — необходимо поставить различные значения через запятую в квадратных скобках. Например:

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

Подобно строковым индексам, индексы списков начинаются с 0. Списки могут быть нарезаны, объединены и т.д.

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

Чтобы получить доступ к значениям в списках, используйте квадратные скобки для нарезки вместе с индексом или индексами, чтобы получить значение, доступное по этому индексу. Например —

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 (). Например —

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 (), если вы не знаете. Например —

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 ExpressionРезультатыОписание
len([1, 2, 3])3Length — длина
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]Concatenation — конкатенация
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]Repetition — Повторение
3 in [1, 2, 3]TrueMembership — членство
for x in [1, 2, 3]: print x,1 2 3Iteration — итерация

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

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

Предполагая следующий ввод —

L = ['spam', 'Spam', 'SPAM!']
Выражение PythonРезультатыОписание
L[2]SPAM!Смещения начинаются с нуля
L[-2]SpamОтрицательный: считать справа
L[1:][‘Spam’, ‘SPAM!’]Нарезка выборок разделов

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

Python включает в себя следующие функции списка —

Функция с описанием
1cmp(list1, list2)

Сравнивает элементы обоих списков.

2len(list)

Дает общую длину списка.

3max(list)

Возвращает элемент из списка с максимальным значением.

4min(list)

Возвращает элемент из списка с минимальным значением.

5list(seq)

Преобразует кортеж в список.

Python включает следующие методы списка

Методы с описанием
1list.append(obj)

Добавляет объект obj в список

2list.count(obj)

Возвращает количество раз, сколько obj встречается в списке

3list.extend(seq)

Добавляет содержимое seq в список

4list.index(obj)

Возвращает самый низкий индекс в списке, который появляется obj

5list.insert(index, obj)

Вставляет объект obj в список по индексу смещения

6list.pop(obj=list[-1])

Удаляет и возвращает последний объект или объект из списка

7list.remove(obj)

Удаляет объект obj из списка

8list.reverse()

Переворачивает объекты списка на месте

9list.sort([func])

Сортирует объекты списка, используйте функцию сравнения, если дано

Расширенные методы и методы списка Python

Одна из самых мощных структур данных в Python — это список.

Списки Python изначально поддерживают использование в качестве очередей, стеков и массивов. Вот почему, чтобы использовать Python как профессионал, важно хорошо понимать списки.

В этой статье мы рассмотрим списки, zipметод и sortметод.

Понимания (Comprehensions) — это расширенная функция списков Python, которая может помочь сделать код чище и проще для чтения.

Композиция (composition) — это просто способ выполнить серию операций над списком, используя одну строку. Понимания обычно обозначаются использованием forвыражения в квадратных скобках.

Вот шаблон для понимания списка:

newList = [returned_value  for item in list condition_logic ]

Как вытащить конкретные элементы

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

# Create a list of numbers from 0 - 49
numRange = range(0,50)

# Pull out all the numbers that are even
evenNums = [num for num in numRange if num % 2 == 0 ]

В приведенном выше примере, читая слева направо, мы создаем новый список, numкоторый возвращается из цикла for, где остаток ( %по модулю), numделенный на два, равен нулю.

Это распространенный случай, когда все четные числа должны быть извлечены из списка.

Выполнить операцию над элементами

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

# Create a list of numbers from 0 - 49
numRange = range(0,50)

# Pull out all the numbers that are even
evenNums = [num * num for num in numRange]

Ограничение вызовов функций с помощью напоминания

Это один из особенно полезных фрагментов кода, который может спасти вас от более дорогих вызовов функций. Источником был этот пост на Stack Overflow.

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

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

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

def memoize(f):
    """ Memoization decorator for functions taking one or more arguments. """
    class memodict(dict):
        def __init__(self, f):
            self.f = f
        def __call__(self, *args):
            return self[args]
        def __missing__(self, key):
            ret = self[key] = self.f(*key)
            return ret
    return memodict(f)

# Initialize global function call variable
funcRuns = 0

# Wrap function in memoization wrapper
@memoize
def f(x):
  global funcRuns

  # Increment funcRuns every time the function is run
  funcRuns += 1
  return True

# Initialize numbers list
nums = [0,1,2,3,4,4]

# Run the list comprehension with 2 calls to f(x) per iteration
#   with 6 elements in the list and 2 calls per iteration this would 
#   normally yield 12 fuction executions. 
[f(x) for x in nums if f(x)]

# Log number of f(x) runs
print(funcRuns)

Запустив приведенный выше пример, вы обнаружите, что функция запускается только пять раз, несмотря на то, что f(x)в понимании списка есть два вызова, а в списке шесть элементов.

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

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

Продвинутые методы списков

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

Zip(list, list2, …)

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

first_names = ['John', 'Jeff', 'Chris']
last_names = ['Wick', 'Chen', 'Test', 'Truncated']
names = zip(first_names, last_names)
for name in names:
  print(name)
# Outputs: 
('John', 'Wick')
('Jeff', 'Chen')
('Chris', 'Test')

List.Sort(key=func, reversed=T/F)

Рассмотрим метод сортировки с использованием пользовательских функций ранжирования:

posts = [
  {
    'Post': {
      'title':'Other today post',
      'date': 43750,
      'claps': 200
    }
  }, 
  {
    'Post': {
      'title':'Python Like a Pro - Lists and Their Many Uses',
      'date': 43750,
      'claps': 525
    }
  },
  {
    'Post': {
      'title':'Yesterdays news',
      'date': 43749,
      'claps': 25
    }
  }, 
]

# Rank here returns a tuple of the days
#   since 1900 date and the number of claps
def rank(element):
  return (element['Post']['date'], 
          element['Post']['claps'])

# Sorting using our rank algorithm 
#   and reversed so the largest date
#   with the most claps is first
posts.sort(key=rank, reverse=True)

# Finally a list comprehension to tie it all together
print([post['Post']['title'] for post in posts])

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

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

https://towardsdatascience.com/python-basics-6-lists-and-list-manipulation-a56be62b1f95

18 наиболее распространенных вопросов по list Python

Узнайте, как создать список в Python, выбрать элементы списка, в чем заключается разницу между методами append() и extension(), зачем использовать NumPy и многое другое.

Вот список вопросов по Python, на которые Вы найдете ответы в этой статье:

  1. Когда использовать списки и когда использовать кортежи, словари или наборы?
  2. Как выбрать элемент из списка?
  3. Как преобразовать списки в другие структуры данных?
  4. Как определить размер вашего списка?
  5. В чем разница между методами Python append () и extend ()?
  6. Как объединить списки?
  7. Как отсортировать список?
  8. Как клонировать или скопировать список?
  9. Как работает понимание списков в Python?
  10. Как считать вхождения элемента списка в Python?
  11. Как разбить список на куски одинакового размера?
  12. Как перебрать список?
  13. Как создавать плоские списки из списков?
  14. Как получить пересечение двух списков?
  15. Как удалить дубликаты из списка?
  16. Почему NumPy вместо списков?
  17. Как создать пустые массивы NumPy?
  18. Как сделать математику с помощью списков?

Когда использовать списки и когда использовать кортежи, словари или наборы?

туду

Как выбрать элемент из списка?

туду

Как преобразовать списки в другие структуры данных?

туду

Как определить размер вашего списка?

туду

В чем разница между методами Python append () и extend ()?

туду

Как объединить списки?

туду

Как отсортировать список?

туду

Как клонировать или скопировать список?

туду

Как работает понимание списков в Python?

туду

Как считать вхождения элемента списка в Python?

туду

Как разбить список на куски одинакового размера?

туду

Как перебрать список?

туду

Как создавать плоские списки из списков?

туду

Как получить пересечение двух списков?

туду

Как удалить дубликаты из списка?

туду

Почему NumPy вместо списков?

туду

Как создать пустые массивы NumPy?

туду

Как сделать математику с помощью списков?

туду

5 3 голоса

Рейтинг статьи

Навигация по записям

массивов Python


Примечание: Python не имеет встроенной поддержки массивов, но вместо них можно использовать списки Python.


Массивы

Примечание: На этой странице показано, как использовать СПИСКИ как Массивы, однако для работы с массивами в Python вам придется импортировать библиотека, такая как библиотека NumPy.

Массивы используются для хранения нескольких значений в одной переменной:

Пример

Создайте массив, содержащий названия автомобилей:

cars = [«Ford», «Volvo», «BMW»]

Попробуй сам »

Что такое массив?

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

Если у вас есть список элементов (например, список названий автомобилей), сохранение автомобили в одинарных переменных могут выглядеть так:

car1 = «Ford»
car2 = «Volvo»
car3 = «BMW»

Но что, если вы хотите пройтись по машинам и найти конкретную? А если бы у вас было не 3 машины, а 300?

Решение — массив!

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


Доступ к элементам массива

Вы ссылаетесь на элемент массива, ссылаясь на номер индекса .


Длина массива

Используйте метод len () , чтобы вернуть длину массив (количество элементов в массиве).

Примечание: Длина массива всегда на единицу больше, чем самый высокий индекс массива.



Элементы массива зацикливания

Вы можете использовать цикл for in для перебора всех элементов массива.


Добавление элементов массива

Вы можете использовать метод append () для добавления элемента в массив.


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

Вы можете использовать метод pop () для удаления элемента из массива.

Вы также можете использовать метод remove () для удаления элемента из массива.

Пример

Удалить элемент со значением «Volvo»:

cars.remove («Вольво»)

Попробуй сам »

Примечание: Метод remove () списка удаляет только первое вхождение указанного значения.


Методы массива

Python имеет набор встроенных методов, которые вы можете использовать для списков / массивов.

Метод Описание
append () Добавляет элемент в конец списка
clear () Удаляет все элементов из списка
copy () Возвращает копию list
count () Возвращает количество элементы с указанным значением
extend () Добавить элементы списка (или любого итеративного) до конца текущего списка
index () Возвращает индекс первый элемент с указанным значением
insert () Добавляет элемент в в указанной позиции
pop () Удаляет элемент в указанная позиция
remove () Удаляет первую элемент с указанным значением
reverse () Изменяет порядок списка
sort () Сортирует список

Примечание: Python не имеет встроенной поддержки массивов, но вместо них можно использовать списки Python.



Массивы Python — GeeksforGeeks

Массив — это набор элементов, хранящихся в непрерывных ячейках памяти. Идея состоит в том, чтобы хранить вместе несколько предметов одного типа. Это упрощает вычисление позиции каждого элемента, просто добавляя смещение к базовому значению, то есть местоположению в памяти первого элемента массива (обычно обозначаемого именем массива).

Для простоты мы можем представить себе массив лестниц, где на каждой ступеньке размещено значение (допустим, один из ваших друзей).Здесь вы можете определить местонахождение любого из ваших друзей, просто зная счет шага, на котором они находятся. Массив может обрабатываться в Python с помощью модуля с именем array . Они могут быть полезны, когда нам нужно манипулировать только значениями определенного типа данных. Пользователь может рассматривать списки как массивы. Однако пользователь не может ограничить тип элементов, хранящихся в списке. Если вы создаете массивы с помощью модуля array , все элементы массива должны быть одного типа.

Создание массива

Массив в Python можно создать, импортировав модуль array . массив ( data_type , value_list ) используется для создания массива с типом данных и списком значений, указанными в его аргументах.

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

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

print ( "Новый созданный массив:" , конец = "" )

для i в диапазоне ( 0 , 3 ):

печать (a [i], конец = "" )

печать ()

b = обр.array ( 'd' , [ 2,5 , 3,2 , 3,3 ])

print ( "Новый созданный массив имеет вид : " , конец = " " )

для i в диапазоне ( 0 , 3 ):

печать (b [i], конец = "" )

Выход:

Новый созданный массив: 1 2 3
Новый созданный массив: 2.5 3,2 3,3
 

Некоторые из типов данных упомянуты ниже, что поможет в создании массива различных типов данных.



Добавление элементов в массив

Элементы могут быть добавлены в массив с помощью встроенной функции insert () . Insert используется для вставки одного или нескольких элементов данных в массив. В зависимости от требований, новый элемент может быть добавлен в начало, конец или любой заданный индекс массива. append () также используется для добавления значения, указанного в его аргументах, в конец массива.

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

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

печать ( "Массив перед вставкой:" , конец = "" )

для i в диапазоне ( 0 , 3 ):

печать (a [i], конец = "" )

печать ()

a.вставить ( 1 , 4 )

печать ( "Массив после вставки:" , конец = "" )

для i дюйм (a):

печать (i, конец = "" )

печать ()

b = обр.массив ( 'd' , [ 2,5 , 3,2 , 3,3 ])

печать ( «Массив перед вставкой:» , конец = "" )

для i в диапазоне ( 0 , 3 ):

печать (b [i], конец = "" )

печать ()

b.append ( 4.4 )

print ( "Массив после вставки:" , конец = "" )

для i дюйм (b):

печать (i, конец = "" )

печать ()

Выход :

Массив перед вставкой: 1 2 3
Массив после вставки: 1 4 2 3
Массив перед вставкой: 2.5 3,2 3,3
Массив после вставки: 2,5 3,2 3,3 4,4
 
Доступ к элементам из массива

Для доступа к элементам массива обратитесь к номеру индекса. Используйте оператор индекса [] для доступа к элементу в массиве. Индекс должен быть целым числом.

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

a = arr.array ( 'i' , [ 1 'i' , [ 1 ] 2 , 3 , 4 , 5 , 6 ])

печать ( "Элемент доступа: « , a [ 0 ])

print ( » Элемент доступа: « , a [ 3 ])

b = обр.массив ( 'd' , [ 2,5 , 3,2 , 3,3 ])

печать ( "Элемент доступа:" , b [ 1 ])

print ( "Элемент доступа:" , b [ 2 ])

Выход:

Элемент доступа: 1
Элемент доступа: 4
Элемент доступа: 3.2
Элемент доступа: 3.3
 
Удаление элементов из массива

Элементы могут быть удалены из массива с помощью встроенной функции remove () , но возникает ошибка, если элемент не существует в наборе. Remove () Метод удаляет только один элемент за раз, для удаления диапазона элементов используется итератор. pop () Функция также может использоваться для удаления и возврата элемента из массива, но по умолчанию она удаляет только последний элемент массива, чтобы удалить элемент из определенной позиции массива, передается индекс элемента в качестве аргумента метода pop () .

Примечание. Метод Remove в списке удалит только первое вхождение искомого элемента.

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

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

печать ( "Новый созданный массив:" , конец = "")

для i в диапазоне ( 0 , 5 ):

печать (arr [i ], конец = "" )

печать ( "\ r" )

9005 0

print ( "Раскрывающийся элемент:" , конец = "")

print (обр.pop ( 2 ))

print ( "Массив после всплывающего окна:" , конец = "")

для i в диапазоне ( 0 , 4 ):

печать (arr [i], конец = "" )

печать ( "\ r" )

обр.удалить ( 1 )

печать ( "Массив после удаления:" , конец = "")

для i в диапазоне ( 0 , 3 ):

печать (arr [i], конец = "" )

Выход:

Новый созданный массив: 1 2 3 1 5
Всплывающий элемент: 3
Массив после извлечения: 1 2 1 5
Массив после удаления: 2 1 5
 
Нарезка массива

В массиве Python есть несколько способов распечатать весь массив со всеми элементами, но для печати определенного диапазона элементов из массива мы используем операцию Slice.Операция среза выполняется над массивом с использованием двоеточия (:). Для печати элементов от начала до диапазона используйте [: Index], для печати элементов с конца используйте [: -Index], для печати элементов из определенного индекса до конца используйте [Index:], для печати элементов в диапазоне используйте [ Начальный индекс: Конечный указатель], а для печати всего списка с использованием операции нарезки используйте [:]. Далее, чтобы напечатать весь массив в обратном порядке, используйте [:: — 1].



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

l = [ 1 , , , 2 , , 4 , 5 , 6 , 7 , 8 , 9 , 10 ]

a = обр.массив ( 'i' , l)

print ( "Intial Array:" )

для i in (a):

печать (i, конец = "" )

Sliced_array = a [ 3 : 8 ]

печать ( "\ nРазрезные элементы в диапазоне 3-8:" )

печать (Sliced_array)

Sliced_array = a [ 5 :]

print ( "\ nЭлементы, нарезанные с 5-го элемента"

"до конца:" )

печать (Sliced_array)

Sliced_array = a [:]

print ( "\ nПечать всех элементов с помощью операции среза:" )

печать (Sliced_array)

Выход:

Начальный массив:
1 2 3 4 5 6 7 8 9 10
Нарезка элементов в диапазоне 3-8:
array ('i', [4, 5, 6, 7, 8])

Элементы, нарезанные от 5-го элемента до конца:
array ('i', [6, 7, 8, 9, 10])

Печать всех элементов с использованием операции среза:
array ('i', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
 
Поиск элемента в массиве

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

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

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

печать ( "Новый созданный массив: " , конец = " ")

для i в диапазоне ( 0 , 6 ):

печать (arr [i], конец = "" )

печать ( "\ r" )

печать ( "Индекс первого появления 2:" , конец = "")

печать (обр.index ( 2 ))

print ( "Индекс первого появления 1:" , конец = "")

печать (arr.index ( 1 ))

Вывод:

Новый созданный массив: 1 2 3 1 2 5
Индекс 1-го появления 2: 1
Индекс 1-го появления 1: 0
 
Обновление элементов в массиве

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

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

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

печать ( "Массив до обновления:" , конец = "")

для i в диапазоне ( 0 , 6 ):

печать (arr [i], конец = "" )

печать ( "\ r" )

arr [ 2 ] = 6

печать ( "Массив после обновления:" , конец = "")

для i в диапазоне ( 0 , 6 ):

печать (arr [i], конец = "" )

печать ()

обр [ 4 ] = 8

печать ( "Массив после обновление: " , конец = " ")

для i в диапазоне ( 0 , 6 ):

печать (обр [i], конец = "" )

Выход:

Массив до обновления: 1 2 3 1 2 5
Массив после обновления: 1 2 6 1 2 5
Массив после обновления: 1 2 6 1 8 5
 

Внимание компьютерщик! Укрепите свои основы с помощью курса Python Programming Foundation и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS . И чтобы начать свое путешествие по машинному обучению, присоединяйтесь к Машинное обучение — курс базового уровня

Python Массив числовых значений

Примечание: Когда люди говорят о массивах в Python, чаще всего имеют в виду списки Python . Если это так, посетите руководство по списку Python.

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


Создание массивов Python

Чтобы создать массив числовых значений, нам нужно импортировать модуль array . Например:

  импорт массива как arr
a = arr.array ('d', [1.1, 3.5, 4.5])
печать (а)  

Выход

  массив ('d', [1.1, 3.5, 4.5])  

Здесь мы создали массив типа float .Буква d — это код типа. Это определяет тип массива во время создания.

Обычно используемые коды типов перечислены ниже:

Код C Тип Python типа Мин. Байты
б знак со знаком внутренний 1
B символ без знака внутренний 1
u Py_UNICODE Юникод 2
ч короткое подпись внутренний 2
H короткое без знака внутренний 2
i подписанный int внутренний 2
Я целое число без знака внутренний 2
л длинный подписанный внутренний 4
л длинный без знака внутренний 4
f поплавок поплавок 4
г двойной поплавок 8

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

Примечание : Код типа u для символов Юникода устарел, начиная с версии 3.3. Избегайте использования как можно большего количества.


Доступ к элементам массива Python

Мы используем индексы для доступа к элементам массива:

  импорт массива как arr
a = arr.array ('i', [2, 4, 6, 8])

print ("Первый элемент:", a [0])
print ("Второй элемент:", a [1])
print ("Последний элемент:", a [-1])  

Выход

  Первый элемент: 2
Второй элемент: 4
Последний элемент: 8  

Примечание : Индекс начинается с 0 (а не с 1), как в списках.


Нарезка массивов Python

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

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

numbers_list = [2, 5, 62, 5, 42, 52, 48, 5]
number_array = arr.array ('я', список_числов)

print (numbers_array [2: 5]) # с 3-й по 5-ю
print (numbers_array [: - 5]) # начиная с 4-го
print (numbers_array [5:]) # с шестого до конца
print (numbers_array [:]) # от начала до конца  

Выход

  массив ('i', [62, 5, 42])
array ('i', [2, 5, 62])
array ('i', [52, 48, 5])
array ('i', [2, 5, 62, 5, 42, 52, 48, 5])  

Изменение и добавление элементов

Массивы изменяемы; их элементы можно изменять так же, как списки.

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

числа = arr.array ('i', [1, 2, 3, 5, 7, 10])

# изменение первого элемента
числа [0] = 0
print (numbers) # Вывод: array ('i', [0, 2, 3, 5, 7, 10])

# изменение 3-го на 5-й элемент
числа [2: 5] = arr.array ('i', [4, 6, 8])
print (numbers) # Вывод: array ('i', [0, 2, 4, 6, 8, 10])  

Выход

  массив ('i', [0, 2, 3, 5, 7, 10])
array ('i', [0, 2, 4, 6, 8, 10])  

Мы можем добавить один элемент в массив с помощью метода append () или добавить несколько элементов с помощью метода extend () .

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

числа = arr.array ('i', [1, 2, 3])

числа.приложение (4)
print (numbers) # Вывод: array ('i', [1, 2, 3, 4])

# extend () добавляет итерацию в конец массива
numbers.extend ([5, 6, 7])
print (numbers) # Вывод: array ('i', [1, 2, 3, 4, 5, 6, 7])  

Выход

  массив ('i', [1, 2, 3, 4])
array ('i', [1, 2, 3, 4, 5, 6, 7])  

Мы также можем объединить два массива с помощью оператора + .

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

odd = arr.array ('я', [1, 3, 5])
даже = arr.array ('я', [2, 4, 6])

numbers = arr.array ('i') # создаем пустой массив целых чисел
числа = нечетные + четные

печать (числа)  

Выход

  массив ('i', [1, 3, 5, 2, 4, 6])  

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

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

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

номер = обр.array ('i', [1, 2, 3, 3, 4])

del number [2] # удаление третьего элемента
print (number) # Вывод: array ('i', [1, 2, 3, 4])

del number # удаление всего массива
print (number) # Ошибка: массив не определен  

Выход

  массив ('i', [1, 2, 3, 4])
Отслеживание (последний вызов последний):
  Файл «<строка>», строка 9, в <модуле>
    print (number) # Ошибка: массив не определен
NameError: имя 'number' не определено  

Мы можем использовать метод remove (), , чтобы удалить данный элемент, и метод pop () , чтобы удалить элемент по данному индексу.

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

числа = arr.array ('i', [10, 11, 12, 12, 13])

числа. удалить (12)
print (numbers) # Вывод: array ('i', [10, 11, 12, 13])

print (numbers.pop (2)) # Вывод: 12
print (numbers) # Вывод: array ('i', [10, 11, 13])  

Выход

  массив ('i', [10, 11, 12, 13])
12
array ('i', [10, 11, 13])  

Посетите эту страницу, чтобы узнать больше о массивах и методах массивов Python.


Списки Python против массивов

В Python мы можем рассматривать списки как массивы.Однако мы не можем ограничить тип элементов, хранящихся в списке. Например:

  # элементы разных типов
a = [1, 3.5, "Привет"]  

Если вы создаете массивы с помощью модуля array , все элементы массива должны быть одного числового типа.

  импорт массива как arr
# Ошибка
a = arr.array ('d', [1, 3.5, «Привет»])  

Выход

  Traceback (последний звонок последний):
  Файл "<строка>", строка 3, в <модуле>
    а = обр.array ('d', [1, 3.5, «Привет»])
TypeError: должно быть действительное число, а не str  

Когда использовать массивы?

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

Итак, как используются массивы, созданные из модуля массива Python?

Тип array.array — это просто тонкая оболочка для массивов C, которая обеспечивает эффективное хранение базовых типов данных в стиле C.Если вам нужно выделить массив, который, как вы знаете, не изменится, тогда массивы могут быть быстрее и использовать меньше памяти, чем списки.

Если вам действительно не нужны массивы (для взаимодействия с кодом C может потребоваться модуль массива), использование модуля массива не рекомендуется.

Python Array — 13 примеров

Python не имеет явной структуры данных массива. Это потому, что мы можем делать то же самое со списком.

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

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

Однако модуль массива Python можно использовать для создания массива, подобного объекту, для целых чисел, символов с плавающей запятой и символов Юникода.


Модуль массива Python

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

Python Array Поддерживаемый код типа

Код типа Unicode объявлен устаревшим в Python 3.3 и будет удален в версии Python 4.0.

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


1. Создание массива

Синтаксис для создания массива: array.array (typecode, values_list) .

импортный массив

# создание массива
int_array = array.array ('я', [1, 2, 3, 4])

float_array = array.array ('f', [1.1, 2.2, 3.3, 4.4])

# Поддержка массива Unicode устарела и будет удалена в Python 4
unicode_array = array.array ('u', ['\ u0394', '\ u2167', '\ u007B'])
 

2. Печать массива и его типа

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

# печать массива
печать (int_array)
печать (float_array)
печать (unicode_array)
печать (тип (int_array))
 

Выход:

array ('i', [1, 2, 3, 4])
array ('f', [1.100000023841858, 2.200000047683716, 3.299999952316284, 4.400000095367432])
массив ('и', 'ΔⅧ {')
<класс 'array.array'>
 

3. Печать элементов массива

Мы можем печатать элементы массива, используя цикл for.

импортный массив

int_array = array.array ('я', [1, 2, 3, 4])

для в int_array:
    печать (а)
 

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

для b в диапазоне (0, len (int_array)):
    print (f'int_array [{b}] = {int_array [b]} ')
 

Выход:

int_array [0] = 1
int_array [1] = 2
int_array [2] = 3
int_array [3] = 4
 

4. Вставка и добавление элементов

Мы можем использовать функцию insert () для вставки элемента по указанному индексу. Элементы из указанного индекса сдвигаются вправо на одну позицию.

int_array = массив.array ('i', [1, 2, 3, 4])
int_array.insert (0, -1) # -1,1,2,3,4
int_array.insert (2, -2) # -1,1, -2,2,3,4
печать (int_array)
 

Выход : array ('i', [-1, 1, -2, 2, 3, 4])

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

int_array = array.array ('я', [1, 2, 3, 4])
int_array.append (-3)
print (int_array) # массив ('i', [1, 2, 3, 4, -3])
 

5. Массив Python поддерживает отрицательный индекс

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

Индекс массива Python
int_array = array.array ('я', [10, 20, 30, 40, 50, 60, 70, 80])
print (int_array [-2]) # 70
print (int_array [-5]) # 40
 

6. Удаление элементов массива

Мы можем использовать метод remove () для удаления элемента массива.

int_array = array.array ('я', [1, 2, 3, 4])
int_array.remove (2)
print (int_array) # массив ('i', [1, 3, 4])
 

Если элемент отсутствует в массиве, возникает ValueError .

int_array = массив.array ('i', [1, 2, 3, 4])
пытаться:
    int_array.remove (20)
кроме ValueError как ve:
    печать (ве)
 

Выход : array.remove (x): x not in array

Мы также можем использовать функцию pop () для удаления элемента по заданному индексу. Эта функция возвращает элемент, удаляемый из массива. Если мы не укажем индекс, последний элемент будет удален и возвращен.

int_array = array.array ('я', [1, 2, 3, 4])
last_element = int_array.pop ()
печать (последний_элемент) # 4
print (int_array) # массив ('i', [1, 2, 3])

второй_элемент = int_array.поп (1)
печать (второй_элемент) # 2
print (int_array) # массив ('i', [1, 3])
 

7. Нарезка массива

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

int_array = array.array ('я', [0, 1, 2, 3, 4, 5])
print (int_array [3:]) # массив ('i', [3, 4, 5])
print (int_array [: 2]) # массив ('i', [0, 1])
print (int_array [1: 3]) # массив ('i', [1, 2])

# нарезка отрицательного индекса
print (int_array [-2:]) # массив ('i', [4, 5])
print (int_array [: - 2]) # массив ('i', [0, 1, 2, 3])
 

8.Поиск элемента в массиве

Мы можем использовать функцию index (), чтобы найти индекс первого вхождения элемента. Если элемент отсутствует в массиве, возникает ошибка ValueError.

int_array = array.array ('я', [0, 1, 2, 3, 1, 2])

print (f'1 находится в индексе {int_array.index (1)} ')
пытаться:
    печать (int_array.index (20))
кроме ValueError как ve:
    печать (ве)
 

Выход:

1 находится в индексе 1
array.index (x): x не в массиве
 

9.Обновление значения по указанному индексу

Мы можем использовать индекс массива с оператором присваивания, чтобы обновить значение по индексу. Если индекс недействителен, возникает IndexError.

int_array = array.array ('я', [0, 1, 2, 3, 1, 2])

int_array [0] = -1
int_array [1] = -2
печать (int_array)

пытаться:
    int_array [10] = -10
кроме IndexError, например:
    печать (т.е.)
 

Выход:

array ('i', [-1, -2, 2, 3, 1, 2])
индекс присвоения массива вне допустимого диапазона
 

10.Обращение массива

Мы можем использовать функцию reverse () для обращения элементов массива.

int_array = array.array ('я', [0, 1, 2, 3])
int_array.reverse ()
print (int_array) # array ('i', [3, 2, 1, 0])
 

11. Счетчик появления элемента

Мы можем использовать функцию count (), чтобы получить количество появлений значения в массиве.

int_array = array.array ('я', [0, 1, 1, 0])
print (int_array.count (1)) # 2
print (int_array.count (10)) # 0
 

12.Расширение массива путем добавления итерируемого объекта

Мы можем использовать функцию extend () для добавления значений из итерируемого объекта в конец массива.

array1 = array.array ('i', [0, 1])
array2 = array.array ('i', [2, 3, 4])

массив1.extend (массив2)
print (array1) # array ('i', [0, 1, 2, 3, 4])

print (array2) # array ('i', [2, 3, 4])
array2.extend ([1, 2])
print (array2) # array ('i', [2, 3, 4, 1, 2])

array1 = array.array ('я', [1])
array1.extend (установить ([0,0,0,2]))
print (array1) # array ('i', [1, 0, 2])
 

13.Преобразование массива в список

Мы можем использовать функцию tolist () для преобразования массива в список.

int_array = array.array ('я', [0, 1, 2, 3])
print (int_array.tolist ()) # [0, 1, 2, 3]
 

Заключение

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


Ссылки:

Создание, реверсирование, отображение с использованием массивов Python

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

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

В этой статье о массивах Python вы узнаете:

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

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

Синтаксис для создания массива в Python

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

arrayName = array.array (код типа для типа данных, [массив, элементы])
 

Синтаксис поясняется на следующем изображении.

Синтаксис массива
  1. Идентификатор : укажите имя, как обычно, вы делаете для переменных
  2. Модуль : Python имеет специальный модуль для создания массива в Python, который называется «массив» — вы должны импортировать его перед использованием
  3. Метод : модуль массива имеет метод инициализации массива.Он принимает два аргумента, код типа и элементы.
  4. Код типа : укажите тип данных, используя доступные коды типов (см. Список ниже)
  5. Элементы : укажите элементы массива в квадратных скобках, например [130,450,103]

Как создавать массивы в Python ?

В Python мы используем следующий синтаксис для создания массивов:

 Класс array.array (код типа [, инициализатор]) 

Например,

импортировать массив как myarray
abc = myarray.array ('d', [2.5, 4.9, 6.7])
 

Приведенный выше код создает массив целочисленного типа. Буква «d» — это код типа.

В следующих таблицах показаны коды типов:

9 0108 8 8
Код типа Тип Python Тип C Мин. Размер (байты)
‘u символ Py_UNICODE 2
‘b’ Int Знак со знаком 1
‘B’ Int Символ без знака 9010 ‘h Int Короткий со знаком 2
‘l’ Int Длинный со знаком 4
‘L’ Int Длинный без знака 4 4 Int Длинный длинный со знаком 8
‘Q’ Int Длинный без знака длинный
‘H’ Int Unsigned short 2
‘f’ Float Float 4
‘i’ Int Signed int 2
‘I’ Int Unsigned int 2

Как получить доступ к элементам массива?

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

Синтаксис:

 имя_массива [indexNum] 

Например,

импортный массив
баланс = array.array ('я', [300,200,100])
печать (баланс [1])
 

Выход:

200
 

На следующем изображении показана основная концепция доступа к элементам массивов по их индексу.

Доступ к элементу массива

Здесь мы получили доступ ко второму значению массива, используя его индекс, равный 1. На выходе будет 200, что по сути является вторым значением сбалансированного массива.

Индекс массива начинается с 0. Вы также можете получить доступ к последнему элементу массива, используя индекс -1.

Пример:

импортировать массив как myarray
abc = myarray.array ('d', [2.5, 4.9, 6.7])
print ("Первый элемент массива:", abc [0])
print ("Последний элемент массива:", abc [-1])
  

Выход:

Первый элемент массива: 2,5
Последний элемент массива: 6,7
 

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

Пример:

импортировать массив как myarray
abc = myarray.array ('q', [3,9,6,5,20,13,19,22,30,25])
печать (abc [1: 4])
печать (abc [7:10])
  

Выход:

array ('q', [9, 6, 5])
array ('q', [22, 30, 25])
 

Эта операция называется операцией нарезки .

Как вставлять элементы?

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

Синтаксис:

 имя_массива.insert (индекс, значение) 

Пример:

Давайте добавим новое значение сразу после второго элемента массива. В настоящее время наш массив balance состоит из трех элементов: 300, 200 и 100. Рассмотрим второй элемент массива со значением 200 и индексом 1.

Чтобы вставить новое значение сразу после индекса 1, вам необходимо указать ссылку на индекс 2 в методе вставки, как показано в примере массива Python ниже:

импортный массив
баланс = массив.array ('i', [300,200,100])
balance.insert (2, 150)
печать (баланс)
 

Выход:

array ('i', [300,200,150,100])
 

Пример 2:

импортировать массив как myarr
a = myarr.array ('b', [2,4,6,8,10,12,14,16,18,20])
а. вставка (2,56)
печать (а)
  

Выход:

array ('b', [2, 4, 56, 6, 8, 10, 12, 14, 16, 18, 20])
 

Как модифицировать элементы?

Массивы в Python изменяемы.Их можно изменить с помощью следующего синтаксиса:

Имя_объекта [индекс] = значение; 

Пример:

импортировать массив как myarr
a = myarr.array ('b', [3,6,4,8,10,12,14,16,18,20])
а [0] = 99
печать (а)
  

Выход:

array ('b', [99, 6, 4, 8, 10, 12, 14, 16, 18, 20]) 

Мы также можем выполнять операции конкатенации с массивами в Python.

Пример:

импортировать массив как myarr
первый = myarr.array ('b', [4, 6, 8])
второй = myarr.array ('b', [9, 12, 15])
числа = myarr.array ('б')
числа = первое + второе
печать (числа)
 

Выход:

array ('b', [4, 6, 8, 9, 12, 15]) 

В приведенном выше примере кода массива Python объединены две переменные, называемые «первая» и «вторая». Результат сохраняется в переменной под названием «число».

Последняя строка кода используется для печати двух массивов.

Как извлечь элемент из массива в Python?

В Python разработчик может использовать метод pop () для извлечения и элемента из массива Python.Ниже приведен пример метода pop () в Python.

Python массив pop Пример:

импортировать массив как myarr
first = myarr.array ('b', [20, 25, 30])
first.pop (2)
печать (первая)
  

Выход:

array ('b', [20, 25])
 

Вы также можете использовать оператор «del» Python.

Пример

импортировать массив как myarr
no = myarr.array ('b', [10, 4, 5, 5, 7])
дель нет [4]
печать (нет)
 

Выход:

array ('b', [10, 4, 5, 5])
 

Как удалить элементы?

С помощью этой операции вы можете удалить один элемент из массива по значению.Этот метод принимает только один аргумент — значение. После запуска этого метода элементы массива переупорядочиваются, и индексы повторно назначаются.

Синтаксис:

 имя_массива.remove (значение) 

Пример:

Удалим значение «3» из массива

импортировать массив как myarray
first = myarray.array ('b', [2, 3, 4])
first.remove (3)
печать (первая)
 

Выход:

array ('b', [2, 4])
 

Как найти и получить индекс значения в массиве

С помощью этой операции вы можете искать элемент в массиве на основе его значения.Этот метод принимает только один аргумент — значение. Это неразрушающий метод, что означает, что он не влияет на значения массива.

Синтаксис:

 имя_массива.индекс (значение) 

Пример:

Давайте найдем значение «3» в массиве. Этот метод возвращает индекс найденного значения.

импортировать массив как myarray
число = myarray.array ('b', [2, 3, 4, 5, 6])
печать (число.индекс (3))
 

Выход:

1
 

Эта операция вернет индекс первого вхождения указанного элемента.

Как перевернуть массив в Python

Эта операция перевернет весь массив.

Синтаксис: array.reverse ()

импортировать массив как myarray
число = myarray.array ('b', [1,2, 3])
number.reverse ()
печать (число)
 

Выход:

array ('b', [3, 2, 1])
 

Преобразовать массив в Юникод:

Массив Python можно преобразовать в Юникод. Чтобы удовлетворить эту потребность, массив должен иметь тип «u»; в противном случае вы получите ValueError.«

Пример:

из массива импорта массива
p = массив ('u', [u '\ u0050', u '\ u0059', u '\ u0054', u '\ u0048', u '\ u004F', u '\ u004E'])
печать (p)
q = p.tounicode ()
печать (q)
 

Выход:

массив ('u', 'ПИТОН')
ПИТОН
 

Подсчитать появление значения в массиве

Вы также можете подсчитать появление элементов в массиве, используя массив.count (x) синтаксис.

Пример:

импортировать массив как myarr
число = myarr.array ('b', [2, 3, 5, 4,3,3,3])
печать (число.счет (3))
  

Выход:

4
 

Переход по массиву

Вы можете перемещаться по массиву Python, используя циклы, например этот:

импортный массив
баланс = array.array ('я', [300,200,100])
для x в балансе:
печать (х)
 

Выход:

300
200
100
 

Резюме:

  • Массив — это общий тип структуры данных, в которой все элементы должны быть одного типа данных.
  • Программирование на Python, массив, может обрабатываться модулем «массив».
  • Массивы Python используются, когда вам нужно использовать много переменных одного типа.
  • В Python доступ к элементам массива осуществляется через индексы.
  • Элементы массива могут быть вставлены с использованием синтаксиса array.insert (i, x).
  • В Python массивы изменяемы.
  • В Python разработчик может использовать метод pop () для извлечения и элемента из массива Python.
  • Массив Python можно преобразовать в Unicode.Чтобы удовлетворить эту потребность, массив должен иметь тип «u»; в противном случае вы получите ValueError.
  • Массивы Python отличаются от списков.
  • Вы можете получить доступ к любому элементу массива, используя его индекс.
  • Модуль массива Python имеет отдельные функции для выполнения операций с массивами.

Python: массив — упражнения, практика, решение

Python Array [22 упражнения с решением]

[ Внизу страницы доступен редактор для написания и выполнения сценариев.]

Модуль массива Python

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

1. Напишите программу Python для создания массива из 5 целых чисел и отображения элементов массива. Доступ к отдельному элементу через индексы. Перейти в редактор
Пример вывода:
1
3
5
7
9
Доступ к первым трем элементам по отдельности
1
3
5
Щелкните меня, чтобы просмотреть образец решения

2. Напишите программу Python для добавления нового элемента в конец массива. Перейдите в редактор.
Пример вывода:
Исходный массив: array (‘i’, [1, 3, 5, 7, 9])
Добавить 11 в конце массива:
Новый массив: array (‘i’, [1, 3, 5, 7, 9, 11])
Щелкните меня, чтобы увидеть образец решения

3. Напишите программу Python для изменения порядка элементов в массиве. Перейдите в редактор.
Пример вывода
Исходный массив: array (‘i’, [1, 3, 5, 3, 7, 1, 9, 3])
Обратный порядок элементов:
array (‘i’, [3, 9, 1, 7, 3, 5, 3, 1])
Щелкните меня, чтобы увидеть образец решения

4. Напишите программу Python, чтобы получить длину в байтах одного элемента массива во внутреннем представлении. Перейдите в редактор.
Пример вывода:
Исходный массив: array (‘i’, [1, 3, 5, 7, 9])
Длина в байтах одного элемента массива: 4
Щелкните меня, чтобы просмотреть пример решения

5. Напишите программу Python, чтобы получить текущий адрес памяти и длину в элементах буфера, используемого для хранения содержимого массива, а также найти размер буфера памяти в байтах. Перейти в редактор.
Пример вывода:
Исходный массив: array (‘i’, [1, 3, 5, 7, 9])
Текущий адрес памяти и длина в элементах буфера: (139741883429512, 5)
размер буфера памяти в байтах: 20
Щелкните меня, чтобы увидеть образец решения

6. Напишите программу Python, чтобы получить количество вхождений указанного элемента в массив. Перейти в редактор
Пример вывода:
Исходный массив: array (‘i’, [1, 3, 5, 3, 7, 9, 3])
Число вхождений числа 3 в указанный массив: 3
Щелкните мне посмотреть образец решения

7. Напишите программу Python для добавления элементов из необратимых в конец массива. Перейдите в редактор.
Пример вывода:
Исходный массив: array (‘i’, [1, 3, 5, 7, 9])
Расширенный массив: array (‘i’, [1, 3, 5, 7, 9 , 1, 3, 5, 7, 9])
Щелкните меня, чтобы просмотреть образец решения

8. Напишите программу Python для преобразования массива в массив машинных значений и возврата байтового представления. Перейдите в редактор.
Пример вывода:
Байт в строку:
b’w3resource ‘
Щелкните меня, чтобы просмотреть образец решения

9. Напишите программу Python для добавления элементов из указанного списка. Перейдите в редактор.
Пример вывода:
элементов в списке: [1, 2, 6, -8]
Добавить элементы из списка:
элементов в массиве: array (‘i’, [1, 2, 6, -8])
Щелкните здесь, чтобы просмотреть образец решения

10. Напишите программу Python для вставки нового элемента перед вторым элементом в существующем массиве. Перейдите в редактор.
Пример вывода:
Исходный массив: array (‘i’, [1, 3, 5, 7, 9])
Вставить новое значение 4 перед 3:
Новый массив: array (‘i’, [1 , 4, 3, 5, 7, 9])
Щелкните меня, чтобы просмотреть образец решения

11. Напишите программу Python для удаления указанного элемента с помощью индекса из массива. Перейдите в редактор.
Пример вывода:
Исходный массив: array (‘i’, [1, 3, 5, 7, 9])
Удалите третий элемент из массива:
Новый массив: array (‘i’, [ 1, 3, 7, 9])
Щелкните меня, чтобы увидеть образец решения

12. Напишите программу Python для удаления первого вхождения указанного элемента из массива. Перейдите в редактор.
Пример вывода:
Исходный массив: array (‘i’, [1, 3, 5, 3, 7, 1, 9, 3])
Удалите первое вхождение 3 из указанного массива:
New array: array (‘i’, [1, 5, 3, 7, 1, 9, 3])
Щелкните меня, чтобы увидеть пример решения

13. Напишите программу Python для преобразования массива в обычный список с теми же элементами. Перейти в редактор
Исходный массив: array (‘i’, [1, 3, 5, 3, 7, 1, 9, 3])
Преобразуйте указанный массив в обычный список с такими же элементами:
[1, 3, 5, 3, 7, 1, 9, 3]
Щелкните меня, чтобы просмотреть образец решения

14. Напишите программу Python, чтобы определить, содержит ли данный массив целых чисел какой-либо повторяющийся элемент. Вернуть истину, если какое-либо значение появляется как минимум дважды в указанном массиве, и вернуть ложь, если каждый элемент отличается. Перейдите в редактор.
Пример вывода:
False
True
True
Щелкните меня, чтобы просмотреть образец решения

15. Напишите программу Python для поиска первого повторяющегося элемента в заданном массиве целых чисел. Верните -1, если таких элементов нет. Перейдите в редактор
Пример вывода:
4
-1
1
Щелкните меня, чтобы просмотреть образец решения

16. Напишите программу Python, чтобы проверить, следует ли она последовательности, указанной в массиве шаблонов. Перейдите в редактор
Пример шаблона:
Для color1 = [«красный», «зеленый», «зеленый»] и patterns = [«a», «b», «b»]
результат должен быть samePatterns (color1, шаблоны) = true;
Для color2 = [«красный», «зеленый», «greenn»] и patterns = [«a», «b», «b»]
вывод должен быть samePatterns (strings, color2) = false.
Щелкните меня, чтобы увидеть образец решения

17. Напишите программу на Python, чтобы найти пару с наибольшим произведением из заданного массива целых чисел.Перейти в редактор.
Исходный массив: [1, 2, 3, 4, 7, 0, 8, 4]
Максимальная пара продуктов: (7, 8)
Исходный массив: [0, -1, -2, — 4, 5, 0, -6]
Максимальная пара продуктов: (-4, -6)
Щелкните меня, чтобы просмотреть образец решения

18. Напишите программу Python для создания массива, содержащего шесть целых чисел. Также распечатайте все члены массива. Перейдите в редактор
Пример вывода:
10
20
30
40
50
Щелкните меня, чтобы просмотреть образец решения

19. Напишите программу Python для получения информации о буфере массива. Перейти в редактор.
Пример вывода:
Начальный адрес буфера массива в памяти и количество элементов.
(140023105054240, 2)
Щелкните меня, чтобы просмотреть образец решения

20. Напишите программу на Python, чтобы получить длину массива. Перейдите в редактор.
Пример вывода:
Длина массива:
5
Щелкните меня, чтобы просмотреть образец решения

21. Напишите программу на Python, чтобы получить размер массива целочисленных типов без знака и с плавающей запятой.Перейдите в редактор.
Пример вывода:
4
4
Щелкните меня, чтобы просмотреть образец решения

22. Напишите программу Python для чтения строки и интерпретации строки как массива машинных значений. Перейдите в редактор.
Пример вывода:
array1: array (‘i’, [7, 8, 9, 10])
Bytes: b’07000000080000000

000a000000 ‘


array2: array (‘ i ‘, [7, 8, 9, 10])
Щелкните здесь, чтобы просмотреть образец решения

Редактор кода Python:

Еще впереди!

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

Проверьте свои навыки Python с помощью викторины w3resource

Модуль

Python Array — Как создать и импортировать массив в Python

Бесплатный курс Python с 25 проектами в реальном времени Начните сейчас!

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

Наряду с этим мы рассмотрим модули классов массивов Python и элементы данных.

Модуль массива Python — элементы данных и модули

Что такое модуль массива Python?

Python array module дает нам тип объекта, который мы можем использовать для обозначения массива.Это набор ценностей.

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

Вот список таких кодов типов —

int108 9

неподписанный

Типовой код

C Тип

9329 9329 9329 9329 90 Тип байт)

b

знаковый символ

int

1

B

9

99

u

Py_UNICODE

символ Юникода;

устарело, начиная с Python 3.3

2

h

короткое со знаком

внутр

2

29
9 H

9

2

i

подписанный int

int

2

I

uns109

l

подписанный длинный

внутренний

4

L

беззнаковый длинный

q

подписанный длинный длинный

932 29 внутр.

8

Q

беззнаковое длинное длинное

внутр

8

000 9 float

4

d

double

float

8

Как импортировать модуль массива Python?

Если на вашем компьютере установлен массив Python, вы можете импортировать его как:

 >>> import array 

Как создать массив Python?

Вы можете создать массив, используя следующий фрагмент кода:

 class array.array (typecode [, initializer]) 

Создает новый массив с элементами типа, указанного в коде типа. При желании вы можете указать значение инициализатора — список.

Давайте попробуем создать массив на Python.

 >>> arr = array.array ('i', [1,3,4])
>>> arr 

Выход

массив (‘i’, [1, 3, 4])

 >>> array.array ('u', 'hello \ u2641') 

Выход

array (‘u’, ‘hello ♁’)

Класс массива Python — элементы данных

Массив класса имеет следующие элементы данных:

Класс массивов Python — элементы данных

1.array.typecodes

Это строка со всеми доступными кодами типов — теми, что указаны в таблице выше.

 >>> array.typecodes 

Вывод

‘bBuhHiIlLqQfd’

2. array.typecode

Это дает нам символ кода типа, который мы использовали при создании массива в Python.

 >>> arr.typecode 

Выходные данные

‘i’

3. array.itemsize

Возвращает количество байтов, которое занимает один элемент из массива Python внутри.

 >>> arr.itemsize 

Выходные данные

4

Класс массива Python — методы

Итак, какие методы поддерживает класс массива? Вот и все:

Класс массива Python — методы

1. array.append (x)

Это добавляет элемент x в массив.

 >>> прибл. (2)
>>> arr 

Выход

array (‘i’, [1, 3, 4, 2])

2. array.buffer_info ()

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

 >>> arr.buffer_info () 

Выход

(43560864, ​​4)

3. array.byteswap ()

Выполняет операцию wap байтов для массива.

 >>> arr.byteswap ()
>>> arr 

Выход

array (‘i’, [16777216, 50331648, 67108864, 33554432])

4. array.count (x)

Давайте узнаем, сколько троек в нашем Python множество.

 >>> arr = массив.array ('i', [1,3,2,4,3,5])
>>> arr.count (3) 

Выход

2

5. array.extend (iterable)

Это присоединяет итерацию к концу массива в Python.

 >>> arr.extend ([7,9,8])
>>> arr 

Выход

array (‘i’, [1, 3, 2, 4, 3, 5, 7, 9, 8])

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

 >>> обр.extension (array.array ('u', ['H', 'e', ​​'l', 'l', 'o'])) 

Вывод

Отслеживание (последний вызов последнего):
Файл «», строка 1, в
arr.extend (array.array (‘u’, [‘H’, ‘e’, ​​’l’, ‘l’, ‘o’]) )
TypeError: может расширяться только массивом того же типа

6. array.fromlist (list)

Добавляет элемент из списка в массивы Python.

 >>> arr.fromlist ([9,0])
>>> arr 

Выход

array (‘i’, [1, 3, 2, 4, 3, 5, 7, 9, 8, 9, 0])

7.array.fromunicode (s)

Это добавляет строку Unicode к той, которую мы вызываем — это тоже должно быть Unicode.

 >>> unicodearr = array.array ('u', 'Привет')
>>> unicodearr 

Выход

массив («u», «Hello»)

 >>> unicodearr.fromunicode ('world')
>>> unicodearr 

Вывод

array (‘u’, ‘Hello world’)

8. array.index (x)

Возвращает индекс для первого вхождения x в массив Python .

 >>> arr = array.array ('i', [1,3,2,4,3,5])
>>> arr.index (3) 

Выход

1

9. array.insert (I, x)
 >>> arr.insert (2,7)
>>> arr 

Выход

array (‘i’, [1, 3, 7, 2, 4, 3, 5])

Это вставляет элемент 7 в индекс 2.

10. array. pop (i)

Это позволяет нам опустить элемент в позицию i.

 >>> arr.pop (2) 

Выход

7

11.array.remove (x)

Это позволит вам удалить первое вхождение элемента из массива Python.

 >>> arr.remove (3)
>>> arr 

Выход

array (‘i’, [1, 2, 4, 3, 5])

12. array.reverse ()

Это переворачивает массив Python.

 >>> arr.reverse ()
>>> arr 

Выход

array (‘i’, [5, 3, 4, 2, 1])

13. array.tobytes ()

Возвращает представление в байтах значений массив в Python.

Это то же самое, что и array.tostring (), которая устарела.

 >>> arr.tobytes () 

Выход

b ‘\ x05 \ x00 \ x00 \ x00 \ x03 \ x00 \ x00 \ x00 \ x04 \ x00 \ x00 \ x00 \ x02 \ x00 \ x00 \ x00 \ x01 \ x00 \ x00 \ x00 ′

14. array.tolist ()

Преобразует массив в список.

 >>> arr.tolist () 

Выход

[5, 3, 4, 2, 1]

15. array.tounicode ()

Преобразует массив в строку Unicode.Для этого вам понадобится массив Unicode.

 >>> unicodearr.tounicode () 

Вывод

«Hello world»

Массив Python — дополнительная информация

Массивы Python — это компактные коллекции числовых значений с единообразной типизацией. Вы можете:

Python Arrays Module — Дополнительная информация

1. Как индексировать массив в Python?
 >>> arr 

Выход

массив (‘i’, [5, 3, 4, 2, 1])

 >>> arr [1] 

Выход

3

2.Разрезать массив
 >>> arr [1: 4]
 

Вывод

array (‘i’, [3, 4, 2])

3. Объединение двух массивов в Python
 >>> arr + arr 

Output

array (‘i’ , [5, 3, 4, 2, 1, 5, 3, 4, 2, 1])

4. Умножить массив на константу
 >>> arr * 2 

Выход

массив ( ‘i’, [5, 3, 4, 2, 1, 5, 3, 4, 2, 1])

Итак, это все о Python Arrays Tutorial.Надеюсь, вам понравится наше объяснение.

Python Вопросы на собеседовании по модулю массива

  1. Что такое модуль массива в Python?
  2. Как отобразить массив в Python?
  3. Как использовать модуль массива в Python?
  4. В чем разница между массивом и списком в Python?
  5. Как читать массив в Python?

Заключение

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