Как вывести на экран второй столбец двумерного массива?
Вывести на экран все элементы второго столбца двумерного массива размера 5×5.
Это задача 9-го класса. Мне нужно сделать случайный массив 5 на 5 и чтобы программа выбирала числа второго столбца массива.
Создаю массив:
from random import randint
mas = [[0]*5 for i in range(5)]
for i in range(5):
for j in range(5):
mas[i][j] = randint(0, 1000)
print(mas[1])
print()
Что делать дальше - не знаю.
Ответы (2 шт):
Представьте двумерный массив mas как таблицу с рядами и колонками:
[ [a, b, c, d, e], # Индекс строки 0
[f, g, h, i, j], # Индекс строки 1
[k, l, m, n, o], # Индекс строки 2
[p, q, r, s, t], # Индекс строки 3
[u, v, w, x, y] ] # Индекс строки 4
# 0 1 2 3 4 <-- Индексы столбцов
Когда вы пишете mas[1], то обращаетесь к элементу массива mas по его первому индексу. В двумерном массиве первый индекс всегда указывает на строку:
mas[0]- это первая строка:[a, b, c, d, e]mas[1]- это вторая строка:[f, g, h, i, j]- и тд.
Цикл for i in range(5) заставляет нашу программу пройти по каждой строке массива по очереди. Переменная i будет принимать значения 0, 1, 2, 3, 4, то есть индексы всех строк. Внутри этого цикла выполняется команда print(mas[i][1], например при i = 0, мы берем первую строку (mas[0]) и из нее достаем элемент с индексом 1 (второй столбец), то есть b. Мы берем разные строки, но из каждой строки мы всегда выбираем элемент, находящийся на одной и той же позиции - во втором столбце (индекс 1).
Полное решение:
from random import randint
mas = [[0]*5 for i in range(5)]
for i in range(5):
for j in range(5):
mas[i][j] = randint(0, 1000)
for i in range(5):
print(mas[i][1])
Вот самим то не стыдно? В ваше время нейросетки уже есть, которые почти любую задачу по описанию сделают и разжуют.
Нужен массив или все же двумерный список? Если именно массив, то все решается 3-мя строками кода с использованием библиотеки Numpy. (Допускаю, что если импортируете random, то импорт numpy тоже не запрещен)
import numpy
arr = numpy.random.randint(0, 6, size=(5, 5))
print(arr[:, 1])