Чтобы повторить массив n раз в Python, вы можете использовать оператор * со списками (например, repeated_array = original_array * n), использовать numpy.tile() для массивов numpy или использовать понимание списка (например, [элемент для элемента в original_array).

Содержание

1. С использованием оператора *

Один из самых простых способов повторить массив в Python — использовать оператор умножения(*). Этот метод прост и хорошо работает со списками, поэтому мы будем использовать конструктор списка для преобразования массива в список.

Вот пример с кодом:

import numpy as np

original_array = np.array(["NY", "CA", "TX"])
n = 2
repeated_array = np.array(list(original_array) * n)
print(repeated_array)

Выход:

['NY' 'CA' 'TX' 'NY' 'CA' 'TX']

После реализации кода в редакторе Python Pycharm мы упомянули скриншот ниже:

1. С использованием оператора *

2. Используя функцию repeat()

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

Вот полный код того, как Python повторяет массив n раз:

import numpy as np

original_array = np.array([75, 68, 60])
n = 3
repeated_array = np.repeat(original_array, n)
print(repeated_array)

Выход:

[75 75 75 68 68 68 60 60 60]

После выполнения кода в Pycharm результат можно увидеть на снимке экрана ниже.

Используя функцию repeat()

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

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

import numpy as np

original_array = np.array([21.43, 3.14, 1.89])
n = 2
repeated_array = np.array([element for element in original_array for _ in range(n)])
print(repeated_array)

Выход:

[21.43 21.43  3.14  3.14  1.89  1.89]

После реализации кода в редакторе Pycharm скриншот упоминается ниже:

Используя понимание списка

4. С помощью функции tile()

Функция tile() в NumPy повторяет весь массив в Python. Это очень эффективно для многомерных массивов.

import numpy as np

original_array = np.array(["Statue of Liberty", "Grand Canyon", "Mount Rushmore"])
n = 2
repeated_array = np.tile(original_array, n)
print(repeated_array)

Выход:

['Statue of Liberty' 'Grand Canyon' 'Mount Rushmore' 'Statue of Liberty'
 'Grand Canyon' 'Mount Rushmore']

После реализации скриншот упоминается ниже:

С помощью функции tile()

5. Используя модуль itertools

Модуль Python itertools предоставляет функцию Chain.from_iterable, которую можно использовать для повторяющихся массивов.

from itertools import chain
import numpy as np

original_array = np.array([8398748, 3990456, 2705994])
n = 2
repeated_array = np.array(list(chain.from_iterable([original_array] * n)))
print(repeated_array)

Выход:

[8398748 3990456 2705994 8398748 3990456 2705994]

После выполнения кода в Pycharm результат можно увидеть на снимке экрана ниже.

Используя модуль itertools

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