Чтобы повторить массив n раз в Python, вы можете использовать оператор * со списками (например, repeated_array = original_array * n), использовать numpy.tile() для массивов numpy или использовать понимание списка (например, [элемент для элемента в original_array).
- 1. С использованием оператора *
- 2. Используя функцию repeat()
- 3. Используя понимание списка
- 4. С помощью функции tile()
- 5. Используя модуль itertools
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 мы упомянули скриншот ниже:
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 результат можно увидеть на снимке экрана ниже.
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']
После реализации скриншот упоминается ниже:
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 результат можно увидеть на снимке экрана ниже.