С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/341: Рейтинг темы: голосов - 341, средняя оценка - 4.66
4 / 4 / 2
Регистрация: 15.02.2011
Сообщений: 78
1

Создать двумерный массив (матрицу)

04.05.2012, 21:54. Показов 61686. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
народ обьясните как создать матрицу, перепробовал кучу способов нашел ток реально рабочий:
Python
1
2
3
4
import numpy
matrix=[[1,2],
        [3,4]]
print matrix
какие есть еще способы? у меня стоит 2.7 версия питона
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2012, 21:54
Ответы с готовыми решениями:

Как ввести двумерный массив(матрицу) с клавиатуры?
Хочу ввести матрицу с клавиатуры, но не могу понять как

Создать двумерный массив
Ребята, создание одномерных и двумерных массивов я нашел, но у меня вопрос такой, тут задача: ...

Создать двумерный массив
Здравствуйте. Помогите построить матрицу с помощью пакета numpy. Должна получиться такая матрица. ...

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

Как создать двумерный массив
Как создать двумерный массив с помощью рандомных чисел ?

10
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.05.2012, 05:31 2
Способов создать матрицу (двумерный массив) — куча, например:
Python
1
2
3
4
5
>>> from random import randint
>>> matrix = [[randint(-5, 5) for j in xrange(4)] for i in xrange(4)]
>>> print matrix
[[0, -2, 2, -2], [2, -1, 4, -3], [1, -5, 2, 1], [4, -1, 4, 1]]
>>>
Или тебе numpy надо использовать?

А вообще, лучше исходить из самой задачи
2
4 / 4 / 2
Регистрация: 15.02.2011
Сообщений: 78
06.05.2012, 15:10  [ТС] 3
вообще над нампи (новичек в питоне). А задача звучит так:
Выполнить обработку элементов прямоугольной матрицы A, имеющей N
строк иM столбцов. Определить средние значения по всем строкам и столб-
цам матрицы. Результат оформить в виде матрицы из N +1 строк и M +1
столбцов.
Но я не хочу чтобы ее за меня решили хочу понять сам.
пример описан так:
Python
1
2
3
4
5
6
7
8
9
10
import numpy
n=i n p u t ( 'Количество строк : ' )
m=i n p u t ( 'Количество столбцов : ' )
S=0.0
# Создаём нулевую матрицу
a=numpy . z e r o s ( [ n-1, m-1])
# Заполняем матрицу
for i in range ( n-1) :
for j in range (m-1) :
p r i n t 'Элемент␣матрицы [ ', i , ' ] [' , j , ' ] '
но выходит не заполнение массива, какой-то бред.
пускай не с клавы заполнять а сразу задать например 3 на 3 со своими значениями. ну а потом думать как средние арифметическое вычислять
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 15:14 4
megostudent, передавай матрицу numpy.array, например:
Python
1
2
3
4
5
>>> import numpy as np
>>> np.array([[1,2], [3,4]])
array([[1, 2],
       [3, 4]])
>>>
1
4 / 4 / 2
Регистрация: 15.02.2011
Сообщений: 78
06.05.2012, 16:59  [ТС] 5
то есть мне уже не нужно делать никаких нулевых матриц, она у меня уже готова и можно думать как определять средние значения строк и столбцов?
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 17:11 6
megostudent, ага
1
4 / 4 / 2
Регистрация: 15.02.2011
Сообщений: 78
06.05.2012, 17:43  [ТС] 7
короч думал я и решил так сделать:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#sn-сумма эелементов строк
#sm-сумма элементов столбцов
#kn- количество элементов строк
#km-количество элементов столбцов
#srzn-сред. знач. строк
#srzm-сред. знач. столбцов
import numpy
n=input('4islo strok: ')
m=input('4islo stolbcov: ')
sn=0.0
sm=0.0
kn=0.0
km=0.0
a=numpy.zeros([n,m])
for i in range (n):
 for j in range (m):
   print 'elem mat [',i,'][',j,']'
   a[i,j]=input('vvedite element: ')
   sn=sn+a[i]
   sm=sm+a[j]
#
kn=n*n
km=m*m
srzn=sn/kn
srzm=sm/km
print srzn
print srzm
но вывело но мне чтот непонятное:
>>>
4islo strok: 2
4islo stolbcov: 2
elem mat [ 0 ][ 0 ]
vvedite element: 2
elem mat [ 0 ][ 1 ]
vvedite element: 2
elem mat [ 1 ][ 0 ]
vvedite element: 2
elem mat [ 1 ][ 1 ]
vvedite element: 2
Python
1
2
[ 2.  1.]
[ 1.5  1. ]
почему не вывело среднее значение столбцов и строк не подскажете?
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 18:15 8
Я бы сделал так (если уж так надо использовать numpy):
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>>> import numpy as np
>>> getValue = lambda prompt, ctor=int: ctor(raw_input(prompt))
>>> N, M = getValue("Input number of rows: "), getValue("Input number of columns: ")
Input number of rows: 2
Input number of columns: 3
>>> matrix = np.array([[getValue("Input item [%d][%d]: " % (i, j), float) \
... for j in xrange(M)] for i in xrange(N)], dtype=float)
Input item [0][0]: 1
Input item [0][1]: 2
Input item [0][2]: 3
Input item [1][0]: 4
Input item [1][1]: 5
Input item [1][2]: 6
>>> mean_rows = matrix.sum(axis=1, dtype=float) / matrix.shape[1]
>>> mean_columns = matrix.sum(axis=0, dtype=float) / matrix.shape[0]
>>> print "Mean values over the rows", mean_rows
Mean values over the rows [ 2.  5.]
>>> print "Mean values over the columns", mean_columns
Mean values over the columns [ 2.5  3.5  4.5]
>>>
Два замечания по твоему коду:
  1. Никогда не используй input в Python 2!
  2. Вместо явных циклов в numpy для обработки данных лучше использовать встроенные методы
1
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 18:35 9
Обновил предыдущее сообщение (сделал оптимальней)
1
4 / 4 / 2
Регистрация: 15.02.2011
Сообщений: 78
06.05.2012, 18:36  [ТС] 10
так а почему оно у меня не правильно считает?
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 18:40 11
megostudent, строки 18,19,22 и 23 не имеют смысла в контексте данной задачи
0
06.05.2012, 18:40
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.05.2012, 18:40
Помогаю со студенческими работами здесь

Как в numpy создать двумерный массив
Здравствуйте! Подскажите, пожалуйста, как создать двумерный массив numpy? В двойном цикле...

Как создать двумерный массив размерностью len(list2) * len(list1)+1 и массив должен быть заполнен нулями
как создать двумерный массив размерностью len(list2) * len(list1)+1 и массив должен быть заполнен...

Создать квадратную матрицу. Сформировать одномерный массив
1. Создать квадратную матрицу порядка n по заданному образцу: 1 2 3 … n-2 n-1 n 0 2 3 … n-2 n-1 n...

Создать двумерный массив по образцу
Как создать двухмерный массив, что бы на выходе получилось как на скрине

Создать двумерный массив под матрицу
Необходимо произвести заданный поиск элемента в матрице, но это не проблема. Только вот матрица с...

Создать тип Matrix, инкапсулирующий двумерный массив-матрицу блок реального (двойного) типа
У меня есть задание: Создать тип Matrix, инкапсулирующий двумерный массив-матрицу блок реального...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru