Двумерный массив python ввод

Двумерные массивы в Python и методы работы с ними

Двумерные массивы в Python и методы работы с ними

Иногда нам приходится использовать таблицы с данными для решения своих задач. Такие таблицы называются матрицами или двумерными массивами.

В Python подобные таблицы можно представить в виде списка, элементы которого являются другими списками. Для примера создадим таблицу с тремя столбцами и тремя строками, заполненными произвольными буквами:

mas = [['й', 'ц', 'у'], ['к','е','н'], ['г', 'ш', 'щ']] #Вывод всего двумерного массива print(mas) #Вывод первого элемента в первой строке print(mas[0][0]) # Выведет й #Вывод третьего элемента в третьей строке print(mas[2][2]) # Выведет щ

Создание двумерных массивов

Создать такой массив в Python можно разными способами. Разберем первый:

# Создание таблицы с размером 3x3, заполненной нулями a = 3 mas = [0] * a for i in range(a): mas[i] = [0] * a print(mas) # Выведет [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

Второй способ предполагает создание пустого списка с добавлением в него новых списков. Рассмотрим на примере:

# Создание таблицы с размером 2x2, заполненной единицами
a = 2 mas = [] for i in range(a): mas.append([0] * a) print(mas) # Выведет [[1, 1, 1], [1, 1, 1], [1, 1, 1]]

Третьим и самым простым способом является генератор списков с x строками, которые будут состоять из y элементов. Пример:

# Создание таблицы с размером 3x3, заполненной двойками a = 3 mas = [[2] * a for i in range(a)] print(mas) # Выведет [[2, 2, 2], [2, 2, 2], [2, 2, 2]]

Способы ввода двумерных массивов

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

a=int(input()) mas = [] for i in range(a): mas.append(list(map(int, input().split()))) print(mas)

Запускаем программу и сначала вводим количество строк в массиве (допустим, 3). Далее вводим строки в порядке их очереди. Например:

После этого данная программа выведет наш двумерный массив: [[1, 1, 1], [1, 1, 1], [1, 1, 1]].

То же самое можно сделать с помощью генератора двумерных массивов:

mas = [list(map(int, input().split())) for i in range(int(input()))] # Вводим 3 1 1 1 1 1 1 1 1 1 print(mas) # Выведет [[1, 1, 1], [1, 1, 1], [1, 1, 1]]

Вывод двумерных массивов

Для обработки и вывода списков используются два вложенных цикла. Первый цикл – по порядковому номеру строки, второй – по ее элементам. Например, вывести массив можно так:

mas = [[1, 1, 1], [1, 1, 1], [1, 1, 1]] for i in range(0, len(mas)): for i2 in range(0, len(mas[i])): print(mas[i][i2], end=' ') print() # Выведет 1 1 1 1 1 1 1 1 1

То же самое можно сделать не по индексам, а по значениям массива:

mas = [[1, 1, 1], [1, 1, 1], [1, 1, 1]] for i in mas: for i2 in i: print(i2, end=' ') print() # Выведет 1 1 1 1 1 1 1 1 1

Способ с использованием метода join():

mas = [[1, 1, 1], [1, 1, 1], [1, 1, 1]] for i in mas: print(' '.join(list(map(str, i)))) # Выведет 1 1 1 1 1 1 1 1 1

Вывод одной из строк двумерного массива можно осуществить с помощью цикла и того же метода join(). Для примера выведем вторую строку в произвольном двумерном массиве:

mas = [[1, 1, 1], [2, 2, 2], [3, 3, 3]] string = 2 for i in mas[string-1]: print(i, end=' ') # Выведет 1 1 1

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

mas = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] column = 2 for i in mas: print(i[column-1], end=' ') # Выведет 2 5 8

Обработка двумерных массивов

Составим произвольный двумерный массив с числами и размерностью 4×4:

2 4 7 3 4 5 6 9 1 0 4 2 7 8 4 7

Теперь поставим числа в каждой строке по порядку:

mas = [[2, 4, 7, 3], [4, 5, 6, 9], [1, 0, 4, 2], [7, 8, 4, 7]] mas2 = [] for i in mas: mas2.append(sorted(i)) print(mas2) # Выведет [[2, 3, 4, 7], [4, 5, 6, 9], [0, 1, 2, 4], [4, 7, 7, 8]]

А теперь расставим все числа по порядку, вне зависимости от их нахождения в определенной строке:

mas = [[2, 4, 7, 3], [4, 5, 6, 9], [1, 0, 4, 2], [7, 8, 4, 7]] mas2 = [] for i in mas: for i2 in i: mas2.append(i2) mas=sorted(mas2) for x in range(0, len(mas), 4): e_c = mas[x : 4 + x] if len(e_c) < 4: e_c = e_c + [None for y in range(n - len(e_c))] print(list(e_c)) # Выведет [0, 1, 2, 2] [3, 4, 4, 4] [4, 5, 6, 7] [7, 7, 8, 9]

Итог

Мы разобрались в основах двумерных массивов в Python, научились создавать, вводить и выводить их, а также рассмотрели примеры обработки. Надеюсь, статья оказалась полезной для вас!

Читайте также:  Org junit assert java

Источник

Двумерный массив в Python

Array — это в основном структура данных, в которой данные хранятся линейно. В Python нет эксклюзивного объекта массива, потому что пользователь может выполнять все операции с массивом, используя список.

Итак, Python выполняет все операции, связанные с массивами, с помощью объекта списка. Массив в Python представляет собой упорядоченный набор элементов в последовательном порядке.

Синтаксис объявления массива:

Двумерные массивы — это в основном массивы внутри массивов. Здесь позиция элемента данных доступна с помощью двух индексов. Он представлен в виде таблицы rows and columns элементов данных.

Объявление двумерного массива

array-name = [ [d1, d2, . dn], [e1, e2, . en] ]

array_input = [ [10,12,14] ,[0,1,2] ] print(array_input[0]) # printing elements of row 0 print(array_input[1]) # printing elements of row 1

вывод 2D массива

Вход в двумерный массив предоставляется в виде строк и столбцов.

size = int(input()) array_input = [] for x in range(size): array_input.append([int(y) for y in input().split()]) print(array_input)

ввод и вывод 2D массива

Insert

Элементы в 2D-массив могут быть вставлены с помощью функции insert() указывающей индекс и позицию вставляемого элемента.

from array import * input = [[1,1,1,1], [12,12,12,12]] print("Array before insertion of elements: ") print(input) input.insert(1, [1,3,5,7,9]) print("Array after insertion of elements: ") for x in input: for y in x: print(y,end = " ") print()

вставка в 2D массив

Как обновить элементы в двумерном массиве?

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

from array import * input = [[1,1,1,1], [12,12,12,12]] print("Array before Updation of elements: ") print(input) input[0] = [10,8] input[1][1] = 9 print("Array after updation of elements: ") for x in input: for y in x: print(y,end = " ") print()

обновление элементов

Как удалить значения?

Элементы из двумерного массива можно удалить с помощью метода del() .

from array import * input = [[1,1,1,1], [12,12,12,12], [0,2]] print("Array before Deletion of elements: ") print(input) del(input[1]) print("Array after Deletion of elements: ") for x in input: for y in x: print(y,end = " ") print()

del удаление

Размер или длина

Длину массива можно определить с помощью метода len() .

array_input = [[3,9],[0,3,7,10]] print(len(array_input))

Добавление

Элементы могут быть добавлены к массиву с помощью метода append() . Элемент добавляется в конец массива.

from array import * input = [[1,1,1,1], [12,12,12,12], [0,2]] print("Array before appending the elements: ") print(input) input.append([1,2]) print("Array after appending of the elements: ") for x in input: for y in x: print(y,end = " ") print()

добавление через append

Нарезка

Нарезка массива используется для доступа к нескольким значениям в массиве.

array1 = [[1,2,3],[4,5,6,7]] #python array slice array2 = array1[1:3] #index 1 to 2 print(array2) array2 = array1[:1] #index 0 to 1 print(array2)

Источник

Читайте также:  How to use methods in java

Python Урок 8. Матрицы (двумерный массив)

егэ разбор егэ разбор pascal уроки c уроки python уроки c++ уроки vb уроки lazarus уроки php уроки html уроки css уроки javascript уроки jquery и ajax уроки prolog уроки flash уроки

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

Рассмотрим пример матрицы размера 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]]

Данный оператор можно записать в одну строку:

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]]

вывод матрицы

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

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

В примере i – это номер строки, а j – номер столбца;
len(matrix) – число строк в матрице.

def printMatrix ( matrix ): for row in matrix: for x in row: print ( "".format(x), end = "" ) print ()

def printMatrix ( matrix ): for row in matrix: for x in row: print ( "".format(x), end = "" ) print ()

from random import randint n, m = 3, 3 a = [[randint(1, 10) for j in range(m)] for i in range(n)] print(a)

from random import randint n, m = 3, 3 a = [[randint(1, 10) for j in range(m)] for i in range(n)] print(a)

Обработка элементов двумерного массива

Нумерация элементов двумерного массива, как и элементов одномерного массива, начинается с нуля.
Т.е. matrix[2][3] — это элемент третьей строки четвертого столбца.

p = 1 for i in range(N): for j in range(M): p *= matrix[i][j] print (p)

p = 1 for i in range(N): for j in range(M): p *= matrix[i][j] print (p)

s = 0 for row in matrix: s += sum(row) print (s)

s = 0 for row in matrix: s += sum(row) print (s)

Для поиска суммы существует стандартная функция sum.

Задание Python 8_0:
Получены значения температуры воздуха за 4 дня с трех метеостанций, расположенных в разных регионах страны:

Читайте также:  Org junit assert java
Номер станции 1-й день 2-й день 3-й день 4-й день
1 -8 -14 -19 -18
2 25 28 26 20
3 11 18 20 25

Т.е. запись показаний в двумерном массиве выглядела бы так:

  1. Распечатать температуру на 2-й метеостанции за 4-й день и на 3-й метеостанции за 1-й день.
  2. Распечатать показания термометров всех метеостанций за 2-й день.
  3. Определить среднюю температуру на 3-й метеостанции.
  4. Распечатать, в какие дни и на каких метеостанциях температура была в диапазоне 24-26 градусов тепла.

Задание Python 8_1:
Написать программу поиска минимального и максимального элементов матрицы и их индексов.

Задание Python 8_2:
Написать программу, выводящую на экран строку матрицы, сумма элементов которой максимальна.

for i in range(N): # работаем с matrix[i][i]

for i in range(N): # работаем с matrix[i][i]

for i in range(N): # работаем с matrix[i][N-1-i]

for i in range(N): # работаем с matrix[i][N-1-i]

for i in range(N): c = A[i][2] A[i][2] = A[i][4] A[i][4] = c

for i in range(N): c = A[i][2] A[i][2] = A[i][4] A[i][4] = c

for i in range(N): A[i][2], A[i][4] = A[i][4], A[i][2]

for i in range(N): A[i][2], A[i][4] = A[i][4], A[i][2]

Задание Python 8_3:
Составить программу, позволяющую с помощью датчика случайных чисел сформировать матрицу размерностью N. Определить:

Источник

Оцените статью