Задать вопрос
Все статьи / Для разработки / Python / Как создать массив в Python: инструкция
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

Как создать массив в Python: инструкция

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

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

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

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

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

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

Отличия списков и массивов

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

Пример такого списка выглядит следующим образом:

мой_список = ['эл1', 'эл2', 'эл3']

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

Давайте рассмотрим еще один пример:

different = ['17', 'строка', '32.5', ['список_в_списке', '17', 'строка', '32.5']]
print(different)

Это тоже список с функциональностью массива, поскольку все элементы представлены в виде строк. 

Теперь рассмотрим следующий пример:

different2 = [17, 'строка', 32.5, ['списoк_в_спискe', '17', 'строка', '32*8']]
print(diffеrеnt2)

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

Возникает вопрос: зачем использовать отдельный модуль для создания массивов, если можно пользоваться списками, которые объединяют обе функции? Однако на то есть веская причина: Python массивы, которые вызываются отдельно, обладают большей компактностью и потребляют меньше памяти. Это особенно полезно при работе с ресурсоемкими приложениями и выполнении низкоуровневых операций.

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

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

Существует три способа импорта модуля array:

  1. Использование import array в начале файла:

Такой способ включает в себя модуль array. Затем вы можете создать массив, используя array.array().
   
   import array

   # Создаем массив
   array.array()

   

  1. Вместо того, чтобы каждый раз писать array.array(), вы можете использовать import array as arr в начале файла, вместо простого import array. Затем вы создаете массив, набирая arr.array(). Псевдоним arr – это что-то вроде альтернативного имени, а сразу за ним следует конструктор массива.   

   import array as arr

   # Создаем массив
   arr.array()

  1. Также можно использовать from array import *, где «*» импортирует все доступные функциональности. Затем вы можете создать массив, написав конструктор array() самостоятельно.

   from array import *

   # Создаем массив
   array()

Работа с массивом в Python

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

После того как вы импортировали модуль array, вы можете приступить к созданию массива в Python.

Общий синтаксис создания массива выглядит следующим образом:

имя_переменной = array(тип_данных, [элементы])

Давайте разберем его более подробно:

  • «имя_переменной» – это имя массива.
  • «тип_данных» указывает, какого типа будут элементы в массиве. Будет ли это массив целых чисел, массив чисел с плавающей точкой или массив любого другого типа данных Python – все это вы можете указать в этом разделе. 

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

  • В квадратных скобках вы указываете элементы, которые будут храниться в массиве, при этом каждый элемент разделяется запятой. Вы также можете создать пустой массив, написав просто «имя_переменной = array(тип_данных)» без каких-либо элементов.

Параметры, которые принимаются методом array()

Внизу приведена таблица типов данных (typecode) с различными кодами типов, которые могут при создании массивов в Python:

Как видно в таблице выше, вы можете использовать код типа 'i' для хранения целочисленных значений в массиве, или 'f' для значений с плавающей точкой и так далее.

Инициализаторы – это набор значений одного типа, например, [01, 02, 03] или ["абв", "где", "ёжз"], и так далее.

Вот пример того, как можно создать массив в Python:

import array as arr

numbers = arr.array('i', [21, 32, 43])

print(numbers)

Вывод:

array('i', [21, 32, 43])

Давайте разберем этот пример поподробнее:

  • Сначала мы включили модуль array, в данном случае с помощью import array as arr.
  • Затем мы создали массив с именем numbers.
  • Внутри конструктора array() мы сначала указали i для знакового целого числа. Знаковое целое число означает, что массив может содержать как положительные, так и отрицательные значения. Например, H для беззнакового целого числа означает, что отрицательные значения не допускаются.
  • Наконец, в квадратных скобках мы указали значения для хранения в массиве.

Запомните, что если вы попытаетесь включить значения, которые не являются типом i, то есть не являются целочисленными значениями, вы получите ошибку:

import array as arr 

numbers = arr.array('i',[21.1,32,43])

print(numbers)

Вывод:

Traceback (most recent call last):
  File "/Users/lissa/PycharmProjects/pythonProject1/main.py", line 3, in <module>
    numbers = arr.array('i',[21.1,32,43])

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

Есть еще один способ создать массив:

from array import *

numbers = array('d',[21.1,32.2,43.3])

print(numbers)

Вывод:

array('d', [21.1, 32.2, 43.3])

Приведенный выше пример импортировал модуль array с помощью from array import * и создал массив numbers с данными типа float. Это означает, что он содержит только числа с плавающей точкой, что и указано кодом типа 'd'.

Как найти длину массива в Python

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

Он вернет целое число, равное общему количеству элементов в указанном вами массиве.

import array as arr 

numbers = arr.array('i',[11,22,33])

print(len(numbers))

Вывод:

3

В приведенном выше примере массив содержал три элемента – 11, 22, 33 – поэтому длина массива numbers равна 3.

Индексирование массива и как получить доступ к отдельным элементам в массиве в Python

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

Индексация в Python, как и во всех языках программирования и в области вычислений в целом, начинается с 0. 

Важно! Да, нумерация начинается с 0, а не с 1.

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

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

имя_массива[индекс_значения_элемента]

Вот как можно получить доступ к каждому отдельному элементу в массиве:

import array as arr 

numbers = arr.array('i',[21,32,43])

print(numbers[0]) 
print(numbers[1])  
print(numbers[2]) 

Вывод:

21
32
43

Помните, что значение индекса последнего элемента в массиве всегда на единицу меньше длины массива. Если n – длина массива, то n = 1 будет индексом последнего элемента.

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

При отрицательном индексировании у последнего элемента индекс равен -1, у предпоследнего – -2 и так далее.

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

import array as arr 

numbers = arr.array('i',[21,32,43])

print(numbers[-1])  
print(numbers[-2])
print(numbers[-3]) 

Вывод:

21
32
43

Как осуществить поиск в массиве в Python

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

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

import array as arr 

numbers = arr.array('i',[21,32,43])

#Ищем индекс 21
print(numbers.index(21))

Вывод:

0

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

import array as arr 

numbers = arr.array('i',[21,32,43,21,32,43])

#Ищем индекс 21
#В выводе будет возвращен номер индекса первого вхождения значения 21
print(numbers.index(21))

Вывод:

0

Как выполнить цикл по массиву в Python

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

Кроме того, вы уже знаете, как вывести весь массив, используя метод print(). 

Этот метод дает следующий результат:

import array as arr 

numbers = arr.array('i',[21,32,43])

print(numbers)

Вывод:

array('i', [21, 32, 43])

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

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

Для этого можно использовать простой цикл for:

    
 
Вывод:

21
32
43

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

import array as arr  

values = arr.array('i',[21,32,43])

for value in range(len(values)):
    print(values[value])

Вывод:

21
32
43

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

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

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

  1. Как изменить значение элемента в массиве

Вы можете изменить значение конкретного элемента, указав его позицию и присвоив ему новое значение:

import array as arr 

#Изначальный массив
numbers = arr.array('i',[21,32,43])

#Поменять первый элемент
#Поменять его с 10 на 40
numbers[0] = 40

print(numbers)

Вывод:

array('i', [40, 32, 43])

  1. Как добавить новое значение в массив

Чтобы добавить одно значение в конец массива, используйте метод append():

import array as arr 

#Изначальный массив
numbers = arr.array('i',[21,32,43])

#Добавить целое число 40 в конец numbers
numbers.append(40)

print(numbers) 

Вывод:

array('i', [21, 32, 43, 40])

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

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

import array as arr 

#Изначальный массив
numbers = arr.array('i',[21,32,43])

#Добавить число с плавающей точкой 40.5 в конец numbers
numbers.append(40.5)

print(numbers)

Вывод:

File "Users/lissa/PycharmProjects/pythonProject1/main.py", line 7, in <module>
   numbers.append(40.5)

Но что, если вы хотите добавить более одного значения в конец массива?

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

import array as arr 

#Изначальный массив
numbers = arr.array('i',[21,32,43])

#Добавить целые числа 40,50,60 в конец numbers
#Числа должны быть заключены в квадратные скобки

numbers.extend([40,50,60])

print(numbers)

Вывод:

array('i', [21, 32, 43, 40, 50, 60])

Если вы не хотите добавлять элемент в конец массива, воспользуйтесь методом insert(), чтобы добавить элемент в конкретную позицию.

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

import array as arr 

#Изначальный массив
numbers = arr.array('i',[21,32,43])

#Добавить целое число 45 на первую позицию
#Не забывайте, что индексация начинается с 0

numbers.insert(0,40)

print(numbers)

Вывод:

array('i', [40, 21, 32, 43])

  1. Как удалить значение из массива

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

import array as arr 

#Изначальный массив
numbers = arr.array('i',[21,32,43])

numbers.remove(21)

print(numbers)

Вывод:

array('i', [32, 43])

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

Посмотрите, что происходит, когда есть более одного идентичного значения:

import array as arr 

#Изначальный массив
numbers = arr.array('i',[21,32,43,21,32])

numbers.remove(21)

print(numbers)

Вывод:

array('i', [32, 43, 21, 32])

Удален только первый экземпляр числа 10.

Вы также можете использовать метод pop() и указать позицию элемента, который нужно удалить:

import array as arr 

#Изначальный массив
numbers = arr.array('i',[21,32,43,21,32])

#Удалите первый экземпляр числа 21
numbers.pop(0)

print(numbers)

Вывод:

array('i', [32, 43, 21, 32])

Заключение

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

Предыдущая статья
Python
Следующая статья
Как создать матрицу в Python: инструкция