Как добавить элемент в массив в питоне
Перейти к содержимому

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

  • автор:

Как добавить элементы в массив NumPy (3 примера)

Вы можете использовать следующие методы для добавления одного или нескольких элементов в массив NumPy:

Способ 1: добавить одно значение в конец массива

#append one value to end of array new_array = np.append(my_array, 15) 

Способ 2: добавить несколько значений в конец массива

#append multiple values to end of array new_array = np.append(my_array, [15, 17, 18]) 

Способ 3: вставить одно значение в определенную позицию в массиве

#insert 95 into the index position 2 new_array = np.insert (my_array, 2, 95) 

Способ 4: вставить несколько значений в определенную позицию в массиве

#insert 95 and 99 starting at index position 2 of the NumPy array new_array = np.insert (my_array, 2, [95, 99]) 

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

import numpy as np #create NumPy array my_array = np.array([1, 2, 2, 3, 5, 6, 7, 10]) #view NumPy array my_array array([ 1, 2, 2, 3, 5, 6, 7, 10]) 

Пример 1: добавление одного значения в конец массива

В следующем коде показано, как использовать np.append() для добавления одного значения в конец массива NumPy:

#append one value to end of array new_array = np.append(my_array, 15) #view new array new_array array([ 1, 2, 2, 3, 5, 6, 7, 10, 15]) 

В конец массива NumPy добавлено значение 15 .

Пример 2. Добавление нескольких значений в конец массива

В следующем коде показано, как использовать np.append() для добавления нескольких значений в конец массива NumPy:

#append multiple values to end of array new_array = np.append(my_array, [15, 17, 18]) #view new array new_array array([ 1, 2, 2, 3, 5, 6, 7, 10, 15, 17, 18]) 

Значения 15 , 17 и 18 были добавлены в конец массива NumPy.

Пример 3. Вставка одного значения в определенную позицию в массиве

В следующем коде показано, как вставить одно значение в определенную позицию в массиве NumPy:

#insert 95 into the index position 2 new_array = np.insert (my_array, 2, 95) #view new array new_array array([ 1, 2, 95, 2, 3, 5, 6, 7, 10]) 

Значение 95 было вставлено в позицию индекса 2 массива NumPy.

Пример 4. Вставка нескольких значений в определенную позицию в массиве

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

#insert 95 and 99 starting at index position 2 of the NumPy array new_array = np.insert (my_array, 2, [95, 99]) #view new array new_array array([ 1, 2, 95, 99, 2, 3, 5, 6, 7, 10]) 

Значения 95 и 99 были вставлены, начиная с позиции индекса 2 массива NumPy.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в NumPy:

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

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

  • Автор записи Автор: Pankaj Kumar
  • Дата записи 09.04.2021

В Python нет определенного типа данных для представления массивов.

Для представления массивов в Python можно использовать следующее:

1. Добавление в массив с использованием списков

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

  • С помощью функции append() можно добавить элементы в конец массива.
  • Используя функцию insert() можно вставлять элементы по заданному индексу.
  • Функция extend() позволяет расширить список, добавляя в него элементы из другого списка.

Пример 1: Добавление элементов в массив с помощью функции append()

my_input = ['Engineering', 'Medical'] my_input.append('Science') print(my_input)

Вывод:

['Engineering', 'Medical', 'Science']

Пример 2: Добавление элементов в массив с использованием функции extend()

my_input = ['Engineering', 'Medical'] input1 = [40, 30, 20, 10] my_input.extend(input1) print(my_input)

Вывод:

['Engineering', 'Medical', 40, 30, 20, 10]

Пример 3: Добавление элементов в массив с использованием функции insert()

my_input = [1, 2, 3, 4, 5] print(f'Current Numbers List ') number = int(input("Please enter a number to be added:\n")) index = int(input(f'Enter the index between 0 and to add the given number:\n')) my_input.insert(index, number) print(f'Updated List ')

Вывод:

Функция вывода вставки

2. Добавление в массив с помощью модуля array

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

  • С помощью оператора + : результирующий массив представляет собой комбинацию элементов из обоих массивов.
  • Функция append() добавляет элементы в конец массива.
  • Функция insert() вставляет элементы по заданному индексу.
  • Используя функцию extend() : она позволяет расширить список, добавляя элементы из обоих списков.

Пример:

import array s1 = array.array('i', [1, 2, 3]) s2 = array.array('i', [4, 5, 6]) print(s1) print(s2) s3 = s1 + s2 print(s3) s1.append(4) print(s1) s1.insert(0, 10) print(s1) s1.extend(s2) print(s1)

Вывод:

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

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

Мы можем добавить элементы в NumPy Array, используя следующие методы:

  • Функция append() добавляет элементы в конец массива.
  • Функция insert() вставляет элементы по заданному индексу.

Пример:

import numpy # insert function arr1_insert = numpy.array([1, 23, 33]) arr2_insert = numpy.insert(arr1_insert, 1, 91) print(arr2_insert) # append function arr1_append = numpy.array([4, 2, 1]) arr2_append = numpy.append (arr1_append, [12, 13, 14]) print(arr2_append)

Выход:

[1, 91, 23, 33] [4, 2, 1, 12, 13, 14]

Заключение

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

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

  • Документация Python Array
  • Документация Python NumPy

Читайте ещё по теме:

  • Python Numpy – Умножьте постоянную на все элементы массива
  • Python Numpy – добавить постоянную на все элементы массива
  • Python numpy – создать одномерный массив
  • Python Numpy – создать массив со случайными значениями
  • Python Numpy – Получить максимальное значение массива
  • Python Numpy – разделите все элементы массива постоянным
  • Python Numpy Array – Итерация по всем элементам

How To Add Elements to an Array in Python

How To Add Elements to an Array in Python

Python doesn’t have a built-in array data type, however, there are modules you can use to work with arrays. This article describes how to add to an array using the array and the NumPy modules. The array module is useful when you need to create an array of integers and floating-point numbers. The NumPy module is useful when you need to do mathematical operations on an array.

In many cases, you can use List to create arrays because List provides flexibility, such as mixed data types, and still has all the characteristics of an array. Learn more about lists in Python.

Note: You can only add elements of the same data type to an array. Similarly, you can only join two arrays of the same data type.

Adding Elements to an Array Using the Array Module

With the array module, you can concatenate, or join, arrays using the + operator and you can add elements to an array using the append() , extend() , and insert() methods.

Syntax Description
+ operator, x + y Returns a new array with the elements from two arrays.
append(x) Adds a single element to the end of the array.
extend(iterable) Adds a list, array, or other iterable to the end of array.
insert(i, x) Inserts an element before the given index of the array.

The following example demonstrates how to create a new array object by joining two arrays:

import array # create array objects, of type integer arr1 = array.array('i', [1, 2, 3]) arr2 = array.array('i', [4, 5, 6]) # print the arrays print("arr1 is:", arr1) print("arr2 is:", arr2) # create a new array that contains all of the elements of both arrays # and print the result arr3 = arr1 + arr2 print("After arr3 = arr1 + arr2, arr3 is:", arr3) 
Output
arr1 is: array('i', [1, 2, 3]) arr2 is: array('i', [4, 5, 6]) After arr3 = arr1 + arr2, arr3 is: array('i', [1, 2, 3, 4, 5, 6])

The preceding example creates a new array that contains all the elements of the the given arrays.

The following example demonstrates how to add to an array using the append() , extend() , and insert() methods:

import array # create array objects, of type integer arr1 = array.array('i', [1, 2, 3]) arr2 = array.array('i', [4, 5, 6]) # print the arrays print("arr1 is:", arr1) print("arr2 is:", arr2) # append an integer to an array and print the result arr1.append(4) print("\nAfter arr1.append(4), arr1 is:", arr1) # extend an array by appending another array of the same type # and print the result arr1.extend(arr2) print("\nAfter arr1.extend(arr2), arr1 is:", arr1) # insert an integer before index position 0 and print the result arr1.insert(0, 10) print("\nAfter arr1.insert(0, 10), arr1 is:", arr1) 
Output
arr1 is: array('i', [1, 2, 3]) arr2 is: array('i', [4, 5, 6]) After arr1.append(4), arr1 is: array('i', [1, 2, 3, 4]) After arr1.extend(arr2), arr1 is: array('i', [1, 2, 3, 4, 4, 5, 6]) After arr1.insert(0, 10), arr1 is: array('i', [10, 1, 2, 3, 4, 4, 5, 6])

In the preceding example, each method is called on the arr1 array object and modifies the original object.

Adding Elements to a NumPy Array

With the NumPy module, you can use the NumPy append() and insert() functions to add elements to an array.

Syntax Description
numpy.append(arr, values, axis=None) Appends the values or array to the end of a copy of arr . If the axis is not provided, then default is None , which means both arr and values are flattened before the append operation.
numpy.insert(arr, obj, values, axis=None) Inserts the values or array before the index ( obj ) along the axis. If the axis is not provided, then the default is None , which means that only arr is flattened before the insert operation.

The numpy.append() function uses the numpy.concatenate() function in the background. You can use numpy.concatenate() to join a sequence of arrays along an existing axis. Learn more about array manipulation routines in the NumPy documentation.

Note: You need to install NumPy to test the example code in this section.

The examples in this section use 2-dimensional (2D) arrays to highlight how the functions manipulate arrays depending on the axis value you provide.

Appending to an Array using numpy.append()

NumPy arrays can be described by dimension and shape. When you append values or arrays to multi-dimensional arrays, the array or values being appended need to be the same shape, excluding along the given axis.

To understand the shape of a 2D array, consider rows and columns. array([[1, 2], [3, 4]]) has a 2, 2 shape equivalent to 2 rows and 2 columns, while array([[10, 20, 30], [40, 50, 60]]) has a 2, 3 shape equivalent to 2 rows and 3 columns.

First, import the NumPy module, then create some arrays and check their shape.

Import NumPy, then create and print np_arr1 :

Output
[[1 2] [3 4]]

Check the shape of np_arr1 :

Output
(2, 2)

Create and print another array, np_arr2 :

Output
[[10 20 30] [40 50 60]]

Check the shape of np_arr2 :

Output
(2, 3)

Then try appending arrays along the different axes. You can append an array with a shape of 2, 3 to an array with a shape of 2, 2 along axis 1 , but not along axis 0 .

Append np_arr2 to np_arr1 along axis 0, or by row:

You get a ValueError :

Output
Traceback (most recent call last): File "", line 1, in File "", line 5, in append File "/Users/digitalocean/opt/anaconda3/lib/python3.9/site-packages/numpy/lib/function_base.py", line 4817, in append return concatenate((arr, values), axis=axis) File "", line 5, in concatenate ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 2 and the array at index 1 has size 3

You can’t append an array with rows that are three columns wide to an array with rows that are only two columns wide.

Append np_arr2 to np_arr1 along axis 1, or by column:

Output
array([[ 1, 2, 10, 20, 30], [ 3, 4, 40, 50, 60]])

You can append an array with columns that are two rows high to another array with columns that are two rows high.

The following example demonstrates how to add elements to a NumPy array using the numpy.append() function:

import numpy as np # create 2D array objects (integers) np_arr1 = np.array([[1, 2], [3, 4]]) np_arr2 = np.array([[10, 20], [30, 40]]) # print the arrays print("np_arr1 is:\n", np_arr1) print("np_arr2 is:\n", np_arr2) # append an array to the end of another array and print the result # both arrays are flattened before appending append_axis_none = np.append(np_arr1, np_arr2, axis=None) print("append_axis_none is:\n", append_axis_none) # append an array to the end of another array along axis 0 (append rows) # and print the result append_axis_0 = np.append(np_arr1, np_arr2, axis=0) print("append_axis_0 is:\n", append_axis_0) # append an array to the end of another array along axis 1 (append columns) # and print the result append_axis_1 = np.append(np_arr1, np_arr2, axis=1) print("append_axis_1 is:\n", append_axis_1) 
Output
np_arr1 is: [[1 2] [3 4]] np_arr2 is: [[10 20] [30 40]] append_axis_none is: [ 1 2 3 4 10 20 30 40] append_axis_0 is: [[ 1 2] [ 3 4] [10 20] [30 40]] append_axis_1 is: [[ 1 2 10 20] [ 3 4 30 40]]

The preceding example shows how the numpy.append() function works for each axis of the 2D array and how the shape of the resulting array changes. When the axis is 0 , the array is appended by row. When the axis is 1 , the array is appended by column.

Adding to an Array using numpy.insert()

The numpy.insert() function inserts an array or values into another array before the given index, along an axis, and returns a new array.

Unlike the numpy.append() function, if the axis is not provided or is specified as None , the numpy.insert() function flattens only the first array, and does not flatten the values or array to be inserted. You’ll get a ValueError if you attempt to insert a 2D array into a 2D array without specifying an axis.

The following example demonstrates how to insert elements into an array using the numpy.insert() function:

import numpy as np # create array objects (integers) np_arr1 = np.array([[1, 2], [4, 5]]) np_arr2 = np.array([[10, 20], [30, 40]]) np_arr3 = np.array([100, 200, 300]) # print the arrays print("np_arr1 is:\n", np_arr1) print("np_arr2 is:\n", np_arr2) print("np_arr3 is:\n", np_arr3) # insert a 1D array into a 2D array and then print the result # the original array is flattened before insertion insert_axis_none = np.insert(np_arr1, 1, np_arr3, axis=None) print("insert_axis_none is:\n", insert_axis_none) # insert an array into another array by row # and print the result insert_axis_0 = np.insert(np_arr1, 1, np_arr2, axis=0) print("insert_axis_0 is:\n", insert_axis_0) # insert an array into another array by column # and print the result insert_axis_1 = np.insert(np_arr1, 1, np_arr2, axis=1) print("insert_axis_1 is:\n", insert_axis_1) 
Output
np_arr1 is: [[1 2] [4 5]] np_arr2 is: [[10 20] [30 40]] insert_axis_none is: [ 1 100 200 300 2 4 5] insert_axis_0 is: [[ 1 2] [10 20] [30 40] [ 4 5]] insert_axis_1 is: [[ 1 10 30 2] [ 4 20 40 5]]

In the preceding example, when you inserted a 2D array into another 2D array along axis 1, each array within np_arr2 was inserted as a separate column into np_arr1 . If you want to insert the whole 2D array into another 2D array, include square brackets around the obj parameter index value to indicate that the whole array should be inserted before that position. Without the square brackets, numpy.insert() stacks the arrays in sequence as columns before the given index.

The following example shows the output with and without square brackets around the obj (index) parameter:

import numpy as np # create 2D array objects (integers) np_arr1 = np.array([[1, 2], [3, 4]]) np_arr2 = np.array([[10, 20], [30, 40]]) # print the arrays print("np_arr1 is:\n", np_arr1) print("np_arr2 is:\n", np_arr2) # insert an array, column by column, into another array # and print the result insert_axis_1 = np.insert(np_arr1, 1, np_arr2, axis=1) print("insert_axis_1 is:\n", insert_axis_1) # insert a whole array into another array by column # and print the result insert_index_axis_1 = np.insert(np_arr1, [1], np_arr2, axis=1) print("insert_index_axis_1 is:\n", insert_index_axis_1) 
Output
np_arr1 is: [[1 2] [3 4]] np_arr2 is: [[10 20] [30 40]] insert_axis_1 is: [[ 1 10 30 2] [ 3 20 40 4]] insert_index_axis_1 is: [[ 1 10 20 2] [ 3 30 40 4]]

The preceding example shows how numpy.insert() inserts columns into an array depending on the index notation.

Conclusion

In this article you added elements to arrays using the array and NumPy modules. Continue your learning with more NumPy tutorials and Python tutorials.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Модуль array. Массивы в python

Python 3 логотип

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

Размер и тип элемента в массиве определяется при его создании и может принимать следующие значения:

Код типа Тип в C Тип в python Минимальный размер в байтах
‘b’ signed char int 1
‘B’ unsigned char int 1
‘h’ signed short int 2
‘H’ unsigned short int 2
‘i’ signed int int 2
‘I’ unsigned int int 2
‘l’ signed long int 4
‘L’ unsigned long int 4
‘q’ signed long long int 8
‘Q’ unsigned long long int 8
‘f’ float float 4
‘d’ double float 8

Класс array.array(TypeCode [, инициализатор]) — новый массив, элементы которого ограничены TypeCode, и инициализатор, который должен быть списком, объектом, который поддерживает интерфейс буфера, или итерируемый объект.

array.typecodes — строка, содержащая все возможные типы в массиве.

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

Методы массивов (array) в python

array.typecode — TypeCode символ, использованный при создании массива.

array.itemsize — размер в байтах одного элемента в массиве.

array.append(х) — добавление элемента в конец массива.

array.buffer_info() — кортеж (ячейка памяти, длина). Полезно для низкоуровневых операций.

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

array.count(х) — возвращает количество вхождений х в массив.

array.extend(iter) — добавление элементов из объекта в массив.

array.frombytes(b) — делает массив array из массива байт. Количество байт должно быть кратно размеру одного элемента в массиве.

array.fromfile(F, N) — читает N элементов из файла и добавляет их в конец массива. Файл должен быть открыт на бинарное чтение. Если доступно меньше N элементов, генерируется исключение EOFError , но элементы, которые были доступны, добавляются в массив.

array.fromlist(список) — добавление элементов из списка.

array.index(х) — номер первого вхождения x в массив.

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

array.pop(i) — удаляет i-ый элемент из массива и возвращает его. По умолчанию удаляется последний элемент.

array.remove(х) — удалить первое вхождение х из массива.

array.reverse() — обратный порядок элементов в массиве.

array.tobytes() — преобразование к байтам.

array.tofile(f) — запись массива в открытый файл.

array.tolist() — преобразование массива в список.

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

Для вставки кода на Python в комментарий заключайте его в теги

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *