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

Как сдвинуть элементы массива на 1 вправо python

  • автор:

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

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

Метод 1: сдвинуть элементы (сохранить все исходные элементы)

#shift each element two positions to the right data_new = np.roll (data, 2) 

Способ 2: элементы сдвига (разрешить замену элементов)

#define shifting function def shift_elements (arr, num, fill_value): result = np.empty_like (arr) if num > 0: result[:num] = fill_value result[num:] = arr[:-num] elif num < 0: result[num:] = fill_value result[:num] = arr[-num:] else : result[:] = arr return result #shift each element two positions to the right (replace shifted elements with zero) data_new = shift_elements(data, 2, 0) 

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

Метод 1: сдвинуть элементы (сохранить все исходные элементы)

В следующем коде показано, как использовать функцию np.roll() для сдвига каждого элемента в массиве NumPy на две позиции вправо:

import numpy as np #create NumPy array data = np.array([1, 2, 3, 4, 5, 6]) #shift each element two positions to the right data_new = np.roll (data, 2) #view new NumPy array data_new array([5, 6, 1, 2, 3, 4]) 

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

Мы также могли бы использовать отрицательное число в функции np.roll() для сдвига элементов влево:

import numpy as np #create NumPy array data = np.array([1, 2, 3, 4, 5, 6]) #shift each element three positions to the left data_new = np.roll (data, -3) #view new NumPy array data_new array([4, 5, 6, 1, 2, 3]) 

Способ 2: элементы сдвига (разрешить замену элементов)

Мы также можем определить пользовательскую функцию для сдвига элементов в массиве NumPy и разрешить замену сдвинутых элементов на определенное значение.

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

import numpy as np #create NumPy array data = np.array([1, 2, 3, 4, 5, 6]) #define custom function to shift elements def shift_elements (arr, num, fill_value): result = np.empty_like (arr) if num > 0: result[:num] = fill_value result[num:] = arr[:-num] elif num < 0: result[num:] = fill_value result[:num] = arr[-num:] else : result[:] = arr return result #shift each element two positions to the right and replace shifted values with zero data_new = shift_elements(data, 2, 0) #view new NumPy array data_new array([0, 0, 1, 2, 3, 4]) 

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

import numpy as np #create NumPy array data = np.array([1, 2, 3, 4, 5, 6]) #define custom function to shift elements def shift_elements (arr, num, fill_value): result = np.empty_like (arr) if num > 0: result[:num] = fill_value result[num:] = arr[:-num] elif num < 0: result[num:] = fill_value result[:num] = arr[-num:] else : result[:] = arr return result #shift each element three positions to the left and replace shifted values with 50 data_new = shift_elements(data, -3, 50) #view new NumPy array data_new array([ 4, 5, 6, 50, 50, 50]) 

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

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

Как сдвинуть элементы массива на 1 вправо python

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2023. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

Сдвиг массива вправо

Author24 — интернет-сервис помощи студентам

Циклический сдвиг массива вправо
Напишите программу, которая выполняет циклический сдвиг элементов массива вправо на R элементов.

Циклический сдвиг элементов массива вправо
Дан одномерный массив числовых значений, насчитывающий N элементов. Выполнить перемещение.

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

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

Циклический сдвиг вправо
Помогите переписать код на python #include <iostream> using namespace std; int main() < int.

Массивы: Условия задач

Числа следует выводить через пробел. Все числа целые, по модулю не больше 2 31 -1. Количество элементов массива не превышает 10000.

Разбор отредактировал Виталий Павленко

Разбор добавил Андрей Шмидт

Проходим по массиву и проверяем индекс на четность, в случае четности выводим значение массива с данным индексом. Это был один из вариантов решения задачи, но есть более эффективный: for (int i=0; i

Дан массив, состоящий из целых чисел. Нумерация элементов начинается с 0. Напишите программу, которая выведет элементы массива, номера которых четны (0, 2, 4. ).

Входные данные

Сначала задано число \(N\) — количество элементов в массиве ( \(1 \le N \le 100\) ). Далее через пробел записаны \(N\) чисел — элементы массива. Массив состоит из целых чисел.

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

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