2D-массивы Python: примеры двумерных списков
Массив — это структура данных, используемая для хранения элементов. Массив может хранить только элементы одинакового типа. Двумерный объект определяется как массив внутри массива. Индекс массива начинается с 0 и заканчивается размером массива минус 1. Мы можем создать n-ое количество массивов в массиве.

На изображении выше мы видим, что индекс уникально идентифицирует каждый элемент массива.
Как создать массив в Python?
Мы можем создать двумерный массив (список) со строками и столбцами.
Синтаксис:
[[r1,r2,r3. rn],[c1,c2,c3. cn]]
Где,
r означает строки, а c означает столбцы
Пример: Ниже приведен пример создания
2D-массив с 4 строками и 5 столбцами
array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]] #display print(array)
Вывод:
[[23, 45, 43, 23, 45], [45, 67, 54, 32, 45], [89, 90, 87, 65, 44], [23, 45, 67, 32, 10]]
Доступ к значениям
Мы можем получить доступ к значениям, используя индексную позицию
Синтаксис:
Мы можем получить значение строки, используя [] оператор
array[row index]
Мы можем получить значение столбца, используя [][]
Array[row index][column index]
- массив — это входной массив
- индекс строки — позиция индекса строки начинается с 0
- Индекс столбца — это позиция индекса столбца, начиная с 0 в строке.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В этом примере мы собираемся получить доступ к значениям, используя индексные позиции.
#creare 2D array with 4 rows and 5 columns array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]] #display print(array) #get the first row print(array[0]) #get the third row print(array[2]) #get the first row third element print(array[0][2]) #get the third row forth element print(array[2][3])
Вывод:
[[23, 45, 43, 23, 45], [45, 67, 54, 32, 45], [89, 90, 87, 65, 44], [23, 45, 67, 32, 10]] [23, 45, 43, 23, 45] [89, 90, 87, 65, 44] 43 65
Мы также можем получить доступ к элементам, используя for loop
Синтаксис:
for rows in the array: for columns in rows: print(columns)
- строки используются для перебора строка за строкой
- Столбцы используются для перебора значений, присутствующих в каждой строке.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
Creare 2D array with 4 rows and 5 columns array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]] #use for loop to iterate the array for rows in array: for columns in rows: print(columns,end=" ") print()
Вывод:
23 45 43 23 45 45 67 54 32 45 89 90 87 65 44 23 45 67 32 10
Вставка значений в двумерный массив
Здесь мы собираемся вставить значения в двумерный массив с помощью функции Insert().
array.insert(index,[values])
- массив является входным массивом
- индекс — это позиция строки для вставки определенной строки
- value — это значения, которые нужно вставить в массив
Пример: Вставка в значения в массиве
#Create 2D array with 4 rows and 5 columns array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]] #insert the row at 5 th position array.insert(2, [1,2,3,4,5]) #insert the row at 6 th position array.insert(2, [1,2,3,4,5]) #insert the row at 7 th position array.insert(2, [1,2,3,4,5]) #display print(array)
Вывод:
[[23, 45, 43, 23, 45], [45, 67, 54, 32, 45], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [89, 90, 87, 65, 44], [23, 45, 67, 32, 10]]
Обновление значений в двумерный массив
Вот два метода обновления значений в двумерном массиве (списке).
Вы можете обновить строки, используя следующий синтаксис
array[row_index]= [values]
Вы можете обновить значения столбцов внутри строк, используя следующий синтаксис
array[row_index][column_index]= [values]
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
#creare 2D array with 4 rows and 5 columns array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]] #update row values in the 3rd row array[2]=[0,3,5,6,7] #update row values in the 5th row array[2]=[0,3,5,6,7] #update the first row , third column array[0][2]=100 #update the second row , third column array[1][2]=400 #display print(array)
Вывод:
[[23, 45, 100, 23, 45], [45, 67, 400, 32, 45], [0, 3, 5, 6, 7], [23, 45, 67, 32, 10]]
Удаление значений из двумерного массива
Вы можете удалить строки, используя del функция
Синтаксис:
del array[index]
- массив является входным массивом
- индекс относится к индексу строки
#creare 2D array with 4 rows and 5 columns array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]] #delete row values in the 3rd row del array[2] #delete row values in the 2nd row del array[1] #display print(array)
Вывод:
[[23, 45, 43, 23, 45], [23, 45, 67, 32, 10]]
Получить размер двумерного массива
Вы можете получить размер двумерного массива, используя функцию line(). Он вернет количество строк в массиве
Синтаксис:
len(array)
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
Получить длину двумерного массива
#creare 2D array with 4 rows and 5 columns array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]] #display print(len(array))
Итоги
Вот несколько важных методов массива (списка)
# Adding an element using append method to the end of an array array=[1,2,3] array.append(4) print(array)
[1,2,3,4]
# Removing all the elements from an array array=[1,2,3] array.clear()
#Copying the elements from an array to a new array array=[1,2,3] array1=[] array1=array.copy() print(array1)
#Counting the no of times an element is present in an array array=[1,2,3] print(array.count(8))
Output: 0
#Extending an existing array with another array array=[1,2,3] array1=[4,5,6] array.extend(array1) print(array)
Output: [1,2,3,4,5,6]
#returing the index an element in an array array=[1,2,3] print(array.index(3))
#Inserting an element at a specified index into an array array=[1,2,3] array.insert(2,4) print(array)
[1,2,4,3]
#Removing an element at specified index through pop method array=[1,2,3] array.pop(2) print(array)
array=[1,2,3] array.remove(2) print(array)
array=[1,2,3,4] array.reverse() print(array)
[4,3,2,1]
- Онлайн-компилятор Python (редактор/интерпретатор/IDE) для запуска кода
- Учебное пособие по PyUnit: Платформа модульного тестирования Python (с примером)
- Как установить Python в Windows [Pycharm IDE]
- Hello World: создайте свою первую программу на 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]]
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Способы ввода двумерных массивов
Допустим, нам нужно ввести двумерный массив после запуска нашей программы. Для этого мы можем создать программу, которая будет построчно считывать значения нашего массива, а также количество строк в нем. Рассмотрим на примере:
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
После этого данная программа выведет наш двумерный массив: [[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, научились создавать, вводить и выводить их, а также рассмотрели примеры обработки. Надеюсь, статья оказалась полезной для вас!
Как создать двумерный массив?
Как создать двумерный массив из '*' , чтобы можно было обратиться к определённому элементу из строки и столбца этого массива.
board = ['*','*','*','*',] def draw_board(board): print('-' * 21) for i in range(4): print("|", board[0], "|", board[0], "|", board[0], "|", board[0], "|", board[0], "|") print("-" * 21) draw_board(board)
Сделал какую-то фигню и теперь не понимаю как обращаться к элементам.
Отслеживать
задан 1 окт 2020 в 5:36
27 3 3 бронзовых знака
с этой "фигней" - никак. потому что у вас нет двумерного массива как такового.
1 окт 2020 в 5:46
Тогда как его оформить?
1 окт 2020 в 5:54
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
dim = 5 # размерность массива (квадратная матрица) arr = [['*' for x in range(dim)] for y in range(dim)] # сам массив
собственно, все. Если вам нужно нарисовать фигуру из этого массива, то вот так можно:
def draw_board(a: list): print("-"*(len(arr)*4+1)) for i in range(len(a)): print("|", end="") for j in range(len(a[0])): print(f" |", end="") #a[i][j] - это и есть обращение к элементу двумерного массива print("\n"+"-"*(len(arr)*4+1)) draw_board(arr)
Создание двумерного массива
Составьте программу, создающую двумерный массив Ь[ ] [ ],
являющийся копией существующего двумерного массива а [ ] [ ],
согласно каждому из следующих предположений:
а. Массив а квадратный.
Ь. Массив а прямоугольный.
с. Ряды массива а могут быть неодинаковой длины.
Ваше решение Ь должно работать и для а, а решение с должно
работать
и для Ь, и для а.
Добавлено через 7 минут
Помогите пожалуйста
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Создание двумерного массива ( numpy)
Создать с помощью пакета numpy двумерный массив по варианту задания. Все массивы в вариантах.

Создание и замолнение двумерного массива
Добрый вечер! Как в питоне создать двумерный массив(лист листов) и заполнить его ,скажем.

Передача массива данных в Excel или создание двумерного динамического массива
Нашел на просторах вот такое: Dim oExcel As Object Dim oBook As Object Dim oSheet As.
Создание двумерного массива с элементами, зависящими от размера массива.
Помогите, пожалуйста решить задачу следующего характера на C: пользователь вводит размер массива.
1090 / 679 / 303
Регистрация: 05.09.2021
Сообщений: 1,161
Сообщение от SkunkHunter 
а. Массив а квадратный.
Ь. Массив а прямоугольный.
с. Ряды массива а могут быть неодинаковой длины.
Работает для всех условий.
b = [[i for i in line] for line in a]
Регистрация: 10.12.2022
Сообщений: 2
Добавлено через 5 часов 22 минуты
А можно попросить написать полностью?
вообще не понимаю тему , а тест надо сдать (
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Создание двумерного массива
Дан массив R(N,М). Сформировать массив R(N) из максимальных по абсолютной величине элементов строк.
Создание двумерного массива
Создать с помощью пакета numpy двумерный массив по варианту задания. Все массивы в вариантах.
Создание двумерного массива
помогите решить зачетную работу. Заполнить квадратную матрицу(например 10 на 10) случайными.
создание двумерного массива..
Здравствуйте, помогите, пожалуйста, написать программу создания двумерного массива и заполнения его.

Создание двумерного массива
int fun_rund (int *mass) < int a,b; srand((unsigned)time(NULL)); for( int a = 0; a <.

Создание двумерного массива
Здравствуйте! Столкнулся с такой проблемой: как правильно создать двумерный массив в Си? Все, что.
Создание двумерного массива - C++
Здравствуйте! Не могу решить задачу: Напишите программу, которая создает двухмерный массив и.