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

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

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

Студворк — интернет-сервис помощи студентам
народ обьясните как создать матрицу, перепробовал кучу способов нашел ток реально рабочий:
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
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.05.2012, 05:31
Способов создать матрицу (двумерный массив) — куча, например:
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  [ТС]
вообще над нампи (новичек в питоне). А задача звучит так:
Выполнить обработку элементов прямоугольной матрицы 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
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 15:14
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  [ТС]
то есть мне уже не нужно делать никаких нулевых матриц, она у меня уже готова и можно думать как определять средние значения строк и столбцов?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 17:11
megostudent, ага
1
4 / 4 / 2
Регистрация: 15.02.2011
Сообщений: 78
06.05.2012, 17:43  [ТС]
короч думал я и решил так сделать:
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
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 18:15
Я бы сделал так (если уж так надо использовать 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
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 18:35
Обновил предыдущее сообщение (сделал оптимальней)
1
4 / 4 / 2
Регистрация: 15.02.2011
Сообщений: 78
06.05.2012, 18:36  [ТС]
так а почему оно у меня не правильно считает?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 18:40
megostudent, строки 18,19,22 и 23 не имеют смысла в контексте данной задачи
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.05.2012, 18:40
Помогаю со студенческими работами здесь

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

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

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

Как создать двумерный массив размерностью 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 0 0 3 … n-2 n-1 n … … … … … … … ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
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. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru