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

Массивы в Python

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

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

Пример

Элементы массива в Python определяются в скобках [] и разделяются запятыми. Ниже приведен пример объявления одномерного массива.

arr = [ 1, 2 ,3, 4, 5] print (arr) print (arr[2]) print (arr[4])

Результатом приведенного выше примера программы с одномерным массивом будет:

Индексация массива начинается с 0. Значит, значение индекса 2 переменной arr равно 3.

В некоторых других языках программирования, таких как Java, когда мы определяем массив, нам также необходимо определить тип элемента, поэтому мы ограничены хранением только этого типа данных в массиве. Например, int brr [5]; может хранить только целые данные.

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

student_marks = ['Akkas' , 45, 36.5] marks = student_marks[1]+student_marks[2] print(student_marks[0] + ' has got in total = %d + %f = %f ' % (student_marks[1], student_marks[2], marks ))

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

Akkas has got in total = 45 + 36.500000 = 81.500000 marks

В приведенном выше примере вы можете видеть, что массив student_marks имеет три типа данных – строку, int и float.

Многомерный массив

Двухмерный массив в Python можно объявить следующим образом.

arr2d = [ [1,3,5] ,[2,4,6] ] print(arr2d[0]) # prints elements of row 0 print(arr2d[1]) # prints elements of row 1 print(arr2d[1][1]) # prints element of row = 1, column = 1

Он выдаст следующий результат:

Точно так же мы можем определить трехмерный массив или многомерный массив в python.

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

Обход массива с использованием цикла for

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

arrayElement = ["One", 2, 'Three' ] for i in range(len(arrayElement)): print(arrayElement[i])

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

Цикл for для обхода элементов массива

Обход 2D-массива

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

arrayElement2D = [ ["Four", 5, 'Six' ] , [ 'Good', 'Food' , 'Wood'] ] for i in range(len(arrayElement2D)): print(arrayElement2D[i]) for i in range(len(arrayElement2D)): for j in range(len(arrayElement2D[i])): print(arrayElement2D[i][j])

Обход 2D-массива с использованием цикла for

Добавление

arrayElement = ["One", 2, 'Three' ] arrayElement.append('Four') arrayElement.append('Five') for i in range(len(arrayElement)): print(arrayElement[i])

Новые элементы Four и Five будут добавлены в конец массива.

Читайте также:  Java программа в трее

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

arrayElement = ["One", 2, 'Three' ] newArray = [ 'Four' , 'Five'] arrayElement.append(newArray); print(arrayElement)

Теперь наш одномерный массив arrayElement превращается в многомерный массив.

Определение размера

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

arr = ["One", 2, 'Three' ] arr2d = [[1,2],[1,2,3,4]] print(len(arr)) print(len(arr2d)) print(len(arr2d[0])) print(len(arr2d[1]))

Срез

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

arr = [1,2,3,4,5,6,7] #python array slice arr1 = arr[0:3] #start to index 2 print(arr1) arr1 = arr[2:] #index 2 to end of arr print(arr1) arr1 = arr[:3] #start to index 2 print(arr1) arr1 = arr[:] #copy of whole arr print(arr1) arr1 = arr[1:6:2] # from index 1 to index 5 with step 2 print(arr1)

На изображении ниже показан пример вывода программы фрагмента массива Python.

Фрагмент массива в Python

Вставка массива

Мы можем вставить элемент в массив с помощью функции insert().

arr = [1,2,3,4,5,6,7] arr.insert(3,10) print(arr)

Вставка массива с помощью функции insert()

Функция pop

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

arr = [1,2,3,4,5,6,7] arr.insert(3,10) print(arr) arr.pop(3) print(arr)

Источник

Массивы Python

Основы

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

shapito_list = [1, 'qwerty', 4/3, [345, ['a', ]]] print(shapito_list) # Вывод: [1, 'qwerty', 1.3333333333333333, [345, ['a', ]]]

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

Существует несколько способ создать массив. Ниже приведены примеры как это можно сделать.

можно_так = [1, 2, 3, 4, 5] можно_так_2 = list('итерируемый объект') а_можно_и_так = [i for i in range(5)] print('можно_так:', можно_так) print('можно_так_2:', можно_так_2) print('а_можно_и_так:', а_можно_и_так) print('можно_так[0]:', можно_так[0]) print('а_можно_и_так[3]:', а_можно_и_так[3]) # Вывод: можно_так: [1, 2, 3, 4, 5] можно_так_2: ['и', 'т', 'е', 'р', 'и', 'р', 'у', 'е', 'м', 'ы', 'й', ' ', 'о', 'б', 'ъ', 'е', 'к', 'т'] а_можно_и_так: [0, 1, 2, 3, 4] можно_так[0]: 1 а_можно_и_так[3]: 3

Многомерный массив

Двухмерный массив в Python можно объявить следующим образом.

example_array = [[-1, 0, 0, 1], [2, 3, 5, 8]] print(example_array[0]) print(example_array[1]) print(example_array[0][3]) # Вывод: [-1, 0, 0, 1] [2, 3, 5, 8] 1
example_array = [[[-1, 0], [0, 1]], [[2, 3], [5, 8]]] print(example_array[0]) print(example_array[1]) print(example_array[0][1]) print(example_array[0][1][0]) # Вывод: [[-1, 0], [0, 1]] [[2, 3], [5, 8]] [0, 1] 0

Операции с массивами

Давайте теперь рассмотрим операции, которые Пайтон позволяет выполнять над массивами.

Обход массива с использованием цикла for

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

example_array = [1, 2, 3] for i in range(len(example_array)): print(example_array[i]) # Вывод: 1 2 3

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

example_array = [1, 2, 3] for i in example_array: print(i) # Вывод: 1 2 3

Обход многомерного массива

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

example_array = [[1, 2], [3, 4]] for i in example_array: for x in i: print(x) # Вывод: 1 2 3 4

Добавление

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

example_array = [[1, 2], [3, 4]] example_array.insert(0, -1) example_array.insert(2, [-1, 13, 64]) print(example_array) # Вывод: [-1, [1, 2], [-1, 13, 64], [3, 4]]
example_array = [[1, 2], [3, 4]] example_array.append(-1) example_array.append([-1, 13, 64]) print(example_array) # Вывод: [[1, 2], [3, 4], -1, [-1, 13, 64]]
example_array = [1, 2, 3, 4] example_array.extend([5, 6]) print(example_array) # Вывод: [1, 2, 3, 4, 5, 6]

Определение размера

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

example_array = [[1, 2], [3, 4]] print('Размер массива:', len(example_array)) example_array.append(-1) print('Размер массива:', len(example_array)) example_array.append([-1, 13, 64]) print('Размер массива:', len(example_array)) # Вывод: Размер массива: 2 Размер массива: 3 Размер массива: 4

Поскольку индексация элементов начинается с нуля, длина массива всегда на единицу больше, чем индекс последнего элемента.

example_array = [[1, 2], [3, 4]] print('Равна ли длина массива номеру последнего элемента + 1?', len(example_array) is (example_array.index(example_array[-1]) + 1)) example_array.append(-1) print('Увеличили размер массива.') print('Равна ли теперь длина массива номеру последнего элемента + 1?', len(example_array) is (example_array.index(example_array[-1]) + 1)) # Вывод: Равна ли длина массива номеру последнего элемента + 1? True Увеличили размер массива. Равна ли теперь длина массива номеру последнего элемента + 1? True

Небольшое пояснение: метод списка .index() возвращает индекс элемента, значение которого совпадает с тем, которое передали методу. Здесь мы передаём значение последнего элемента и, таким образом, получаем индекс последнего элемента. Будьте осторожны: если в списке есть повторяющиеся значения, этот приём не сработает!

Срез

Срез Python предоставляет особый способ создания массива из другого массива.

example_array = [[1, 2], [3, 4]] print(example_array[::-1]) print(example_array[1:]) print(example_array[0][:-1]) # Вывод: [[3, 4], [1, 2]] [[3, 4]] [1]

Функция pop

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

example_array = [1, 2, 6, 3, 4] print(example_array.pop(4)) print(example_array) # Вывод: 4 [1, 2, 6, 3]

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

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

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

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

Модуль array

Если Вам всё-таки нужен именно классический массив, вы можете использовать встроенный модуль array. Он почти не отличается от структуры list, за исключением, пожалуй, объявления.
Вот небольшая демонстрация:

import array example_array = array.array('i', [1, 2, 6, 3, 4]) # превый аргумент указывает на тип элементов. i означает integer example_array.insert(0, -1) print('После вставки:', example_array) example_array.append(-1) print('После добавления в конец:', example_array) example_array.extend([5, 6]) print('После объединения со списком:', example_array) print('Удалён элемент:', example_array.pop(4)) print('После удаления элемента:', example_array) print('Срез:', example_array[0:4]) # Вывод: После вставки: array('i', [-1, 1, 2, 6, 3, 4]) После добавления в конец: array('i', [-1, 1, 2, 6, 3, 4, -1]) После объединения со списком: array('i', [-1, 1, 2, 6, 3, 4, -1, 5, 6]) Удалён элемент: 3 После удаления элемента: array('i', [-1, 1, 2, 6, 4, -1, 5, 6]) Срез: array('i', [-1, 1, 2, 6])

Типы элементов массива

Элементы массива в модуле array могут быть следующих типов:

Код типа Тип в C Тип в python
‘b’ signed char int
‘B’ unsigned char int
‘h’ signed short int
‘H’ unsigned short int
‘i’ signed int int
‘I’ unsigned int int
‘l’ signed long int
‘L’ unsigned long int
‘q’ signed long long int
‘Q’ unsigned long long int
‘f’ float float
‘d’ double float

Как Вы можете видеть, со строками модуль не работает.

Источник

Оцените статью