Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/47: Рейтинг темы: голосов - 47, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 25.05.2017
Сообщений: 5

Переворот матрицы (двумерного массива) на 90 градусов по часовой стрелке

25.05.2017, 23:22. Показов 9019. Ответов 1
Метки zip (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Хотелось бы узнать больше о методе (кажется так и называется) zip. Насколько понял, он берёт элементы i индекса у каждого аргумента, а после склеивает их в список. Верно ли? К примеру: из zip('012' , 'abc') можно получить ('0a', '1b', '2c'), но на деле я получаю немного иную картину в виде <zip object at 0x1054a8448> (прикрепил пик). Надеюсь на вас. (Изначальная миссия была в повороте матрицы по часовой стрелке, думаю реализовать через реверс массива и склейку индексов подмассивов(исправьте, если неграмотно говорю)). Буду благодарен за примеры. Заранее спасибо!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2017, 23:22
Ответы с готовыми решениями:

Поворот квадратной матрицы на 90 градусов по часовой стрелке, затем на 90 градусов против часовой стрелки
Задача: Поворот квадратной матрицы на 90 градусов по часовой стрелке, затем на 90 градусов против часовой стрелки. Вывести промежуточную...

Поворот квадратной матрицы на 90 градусов по часовой стрелке, затем на 90 градусов против часовой стрелки
Поворот квадратной матрицы на 90 градусов по часовой стрелке, затем на 90 градусов против часовой стрелки. Вывести промежуточную и...

Переворот матрицы на 90 градусов по часовой
Переворот матрицы на 90 градусов по часовой. Не пойму ошибку. Я совсем новый у вас так что не судите строго. using System; using...

1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
26.05.2017, 11:25
Лучший ответ Сообщение было отмечено deusdeus как решение

Решение

<zip object at 0x1054a8448> - это объект итератор\генератор. Он lazy. Пока не "попросишь" - ничего не даст. "Просить" нужно в цикле (обычное использование) или развернуть в список через list(zip(a,b)).
-----------------------------------------------
Python
1
2
3
4
5
6
7
# транспонирование матрицы    
def rotatematrix(data):
    newdata = [] 
    for i in range(data[0]):
        newrow = [data[j][i] for j in range(len(data))]
        newdata.append(newrow)
   return newdata
Добавлено через 11 часов 21 минуту
Там в функции ошибка: должно быть for i in range(len(data[0])).
А через zip можно так:
Python
1
2
3
4
5
def rotatematrix2(m, right=False):
    if right:
        return[list(t) for t in zip(*reversed(m))]
    else:
        return[list(t) for t in zip(*m)]
Вместо list(t) можно использовать [*t].
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2017, 11:25
Помогаю со студенческими работами здесь

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

Поворот матрицы на 90 градусов по часовой стрелке
заполнить матрицу целыми числами, развернуть ее на 90 градусов по часовой стрелке

Поворот матрицы на 45 градусов по часовой стрелке
Добрый день, никак не могу решить задачку: Решить поставленную задачу, используя средства управления вводом/выводом. Дан символьный массив...

Поворот матрицы на 90 градусов по часовой стрелке
import numpy as np n = int(input('Количество строк = ')) m = int(input('Количество столбцов = ')) a = np.zeros((n, m), dtype=np.int_)...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru