489.78K
Category: programmingprogramming

Python. Матрицы

1.

Матрицы

2.

Таблицы с данными –
матрицы или двумерные
массивы
Для работы с матрицами в
Python также используются
списки
Каждый
элемент
спискаматрицы содержит вложенный
список

3.

Таблицы с
данными –
матрицы
или
двумерные
массивы

4.

Структура
из вложенных списков, количество которых
определяет количество строк матрицы, а число элементов
внутри каждого вложенного списка указывает на
количество столбцов в исходной матрице
Рассмотрим пример матрицы размера 4 х 3:
matrix = [[-1, 0, 1],
[-1, 0, 1],
[0, 1, -1],
[1, 1, -1]]
matrix = [[-1, 0, 1], [-1, 0, 1], [0, 1, -1], [1, 1, -1]]

5.

Пусть даны два числа: количество строк n и количество
столбцов m. Необходимо создать список размером n×m,
заполненный нулями

6.

Вывод
можно осуществить одним оператором, но такой
простой способ не позволяет выполнять какой-то
предварительной обработки элементов
print(matrix)

7.

Определите, какой будет результат при выполнении:
print (b[0])
print (a[2, 1])

8.

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

9.

10.

for row in A:
for elem in row:
print(elem, end=' ')
print()

11.

def printMatrix ( matrix ):
for i in range ( len(matrix) ):
for j in range ( len(matrix[i]) ):
print ( "{:4d}".format(matrix[i][j]), end = "" )
print ()

12.

def printMatrix ( matrix ):
for row in matrix:
for x in row:
print ( "{:4d}".format(x), end = "" )
print ()
Внешний цикл проходит по строкам матрицы (row), а
внутренний цикл проходит по элементам каждой строки (x)

13.

import random
for i in range(N):
for j in range(M):
matrix[i][j] = random.randint ( 30, 60 )
print ( "{:4d}".format(matrix[i][j]), end = "" )
print()

14.

Для
создания двумерных массивов можно использовать
вложенные генераторы, разместив генератор списка,
являющегося строкой, внутри генератора для строк.
Например, сделать список из n строк и m столбцов при помощи
генератора, создающего список из n элементов, каждый
элемент которого является списком из m нулей:
[[0] * m for i in range(n)]

15.

Если
число 0 заменить на некоторое выражение,
зависящее от i (номер строки) и j (номер столбца), то
можно получить список, заполненный по некоторой
формуле.

16.

Найдите
произведение и сумму элементов двумерной
матрицы n*m, для заполнения значениями используйте
случайные числа, для вывода на экран используйте
процедуру вывода

17.

Найдите сумму элементов главной и побочной диагонали
n*n

18.

Модуль array определяет массивы в python
Массивы очень похожи на списки, но с ограничением на
тип данных и размер каждого элемента
array.array(TypeCode [, инициализатор]) - новый массив,
элементы которого ограничены TypeCode, и инициализатор,
который должен быть списком, объектом, который
поддерживает интерфейс буфера, или итерируемый объект
array.typecodes - строка, содержащая все возможные типы в
массиве

19.

Массивы
поддерживают
все
списковые
методы
(индексация, срезы, умножения, итерации), и другие
методы
По классике массив содержит элементы одного типа.
Списку же типы данных элементов не важны

20.

a = array.array('i',(0 for i in range(0,10)))
или
x = [0] * 10 x = [0 for i in xrange(10)]

21.

array.array – это генератор , который строит определенную последовательность по мере ее чтения

22.

Отдельные элементы
могут быть доступны
через индексы:
my_array[1]
Добавить любое значение
в массив с помощью
метода append ()

23.

Вставить значение в
массив с помощью
метода insert () в любом
индекса массива
Расширение массива python с
помощью метода extend ()
Добавить элементы из списка
в массив, используя метод
fromlist

24.

Удалите любой элемент
массива, используя
метод remove
Удалить последний
элемент массива
методом pop

25.

Получить любой элемент
через его индекс с
помощью метода index
Обратный массив Python,
используя метод reverse
Количество вхождений
элемента с помощью метода
count

26.

Преобразовать массив в
строку, используя метод
tostring (). tostring()
преобразует массив в
строку
Преобразовать массив в
список Python с теми же
элементами, используя метод
tolist

27.

Даны
две матрицы n*m и m*n, найдите произведение
матриц, применяя модуль numpy и без него

28.

Выжимка из документации Numpy: функции,
методы и примеры. (pythonru.com)
Массив
NumPy — это не то же самое, что и класс
array.array из Стандартной библиотеки Python, который
работает только с одномерными массивами
Одномерный массив NumPy
Многомерные массивы
import numpy as np
import numpy as np
a = np.array([1,2,3])
a = np.array([[1,2,3],[4,5,6]])
print(a)
print(a)
Результатом кода выше будет Результат
[1 2 3]
[[1 2 3] [4 5 6]].

29.

python -m pip install --user numpy
В PyCharm
Перейдите на вкладку File -> Settings -> Project:
YOUR_PROJECT_NAME -> Project Interpreter
Нажмите на + и добавьте numpy к списку библиотек

30.

31.

В
одномерном массиве, состоящем из п вещественных
элементов, вычислить сумму элементов, расположенных
после последнего элемента, равного нулю

32.

Размерности
двумерных массивов следует запрашивать у пользователя. Все
необходимые данные должны передаваться в функции в качестве параметров.
Все переменные, используемые только внутри функции, должны быть описаны
как локальные. Использование глобальных переменных в функциях не
допускается. Обеспечить вывод, как исходного массива, так и массива,
полученного в результате работы программы, там, где это возможно по условию
задачи. Пункты задания оформить в виде функций
Напишите
программу, формирующую квадратную матрицу, элементы которой
являются натуральными числами, расположенными в порядке возрастания от 1
до n 2 (n – порядок матрицы) согласно схеме, приведённой на рисунке.
Вычислить сумму элементов, расположенных на главной диагонали полученной
матрицы

33.

Матрицы. Вывод элементов матрицы
Массивы, методы работы с массивами
Модуль NumPy, основные возможности
English     Русский Rules