Тема Списки (list). Кортежи (tuple)


Заполнение двумерного списка



Pdf көрінісі
бет7/11
Дата13.04.2023
өлшемі372,44 Kb.
#82554
түріЛекции
1   2   3   4   5   6   7   8   9   10   11
Заполнение двумерного списка 
Заполнение двумерного списка вручную после запуска программы 
Заполнение двумерного списка после запуска программы не совсем тривиальная 
задача. При вводе элементов каждый вложенный список вводится с новой строки, а 
каждый элемент вложенного списка отделяется пробелом. В данном случае 
количество элементов во вложенных списках может быть разное. 
n = int(input()) 
# указываем количество строк в списке 
a = [] 
# создаем пустой список 
for i in range(n): 
row = input().split() 
# считываем строку чисел через пробел, 
# и разбиваем строку по разделителю, 
# по умолчанию это пробел
# конвертируем элементы списка в числа (при необходимости)
for i in range(len(row)): 
row[i] = int(row[i]) 
# добавляем список в качестве вложенного 
a.append(row) 
print(a)
Пример результата выполнения программы: 

1 3 5 
2 4 6 
[[1, 3, 5], [2, 4, 6]] 
Заполнение двумерного списка случайными числами 
В данном примере рассмотрим заполнение элементов в случае, когда все 
вложенные списки имеют одинаковое количество элементов. 


Подсадников А.В., Розов К.В., Русецкий А.В. «Основы программирования на языке Python 3» 
import random 
n = int(input(
'
Введите количество строк: 
'
)) 
m = int(input(
'
Введите количество элементов в строках: 
'
)) 
a = [] 
# создаем пустой список
for i in range(n): 
row = [] 
# создаем пустой вложенный список
for i in range(m): 
row.append(random.randint(1, 10)) 
# добавляем список в качестве вложенного 
a.append(row) 
print(a) 
Пример результата выполнения программы: 
Введите количество строк: 3 
Введите количество элементов в строках: 4 
[[9, 10, 8, 4], [9, 3, 9, 5], [1, 4, 10, 9]] 
Заполнение двумерного списка генератором 
Для создания двумерных списков можно использовать вложенные генераторы, 
разместив генератор списка, являющегося строкой, внутри генератора для строк. 
Например, сделать список из n строк и m столбцов при помощи генератора, 
создающего список из n элементов, каждый элемент которого является списком из m 
нулей: 
[[0 for j in range(m)] for i in range(n)] 
Но если число 0 заменить на некоторое выражение, зависящее от i (номер 
строки) и j (номер столбца), то можно получить список, заполненный по некоторой 
формуле. 
Допустим, нужен список, в котором n = 5 строк, m = 6 столбцов, и элемент в 
строке i и столбце j вычисляется по формуле: A[i][j] = i * j. 
Для создания такого массива можно использовать генератор: 
[[i * j for j in range(6)] for i in range(5)] 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   11




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет