Двумерный список объединяет другие списки в один список как элементы списка, который представляет собой вложение списков . Те, кто знаком с C или C++, могут понять концепцию массивов. В Python массивы существуют в сторонних библиотеках. Поэтому, если мы хотим использовать методы массивов в Python без установки сторонних плагинов, мы должны использовать их. двумерный список. Этот метод.
Фактически элементы в списке могут иметь любой тип данных. Давайте рассмотрим пример:
my_list=[[1,2,3,4,5],'dotcpp',{1,2,3,},('www','dotcpp','com')]print(my_list)
Результат:
[[1,2,3,4,5],'dotcpp',{1,2,3},('www','dotcpp','com')]
Этот список содержит списки, строки, наборы и кортежи. Если все элементы списка являются списками, это наиболее часто используемый двумерный список. Ниже будут представлены несколько методов создания двумерных списков и доступа к ним.
Метод прямого создания — ввести имя списка сразу после его определения. Определим простую маленькую клавиатуру, а именно 1-9:
my_list=[[1,2,3],[4,5,6],[7,8,9]]print(my_list)
Результат:
[[1,2,3],[4,5,6],[7,8,9]]
Когда мы это понимаем, мы можем понять это так:
Как видно из рисунка, my_list[0] соответствует [1,2,3], поэтому, когда мы обращаемся к 1, его соответствующие координаты равны (0,0), и мы можем получить к нему доступ через индекс, то есть: my_list[0 ][0], его значение соответствует 1, а доступ к остальным значениям осуществляется таким же образом. Например, метод доступа, соответствующий элементу 9, — my_list[2][2].
Создание списка также может быть достигнуто с помощью цикла, обычно с использованием цикла for. Давайте создадим двумерный список размером 6*6. Код выглядит следующим образом:
my_list=[]#Сначала создайте основной список foriinrange(6):#Пройдите 6 раз и создайте новый список для каждого элемента основного списка по очереди j=[]#Сначала создайте новый список и добавьте его в основной list my_list.append(j)forminrange(1,7):j.append(m)#Добавить элементы в подсписок print(my_list)#Вывод
Результат:
[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3, 4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]
Фактический результат вывода должен быть в одной строке. Это организовано так для удобства понимания. Вы также можете попробовать создать двумерный список с помощью цикла while.
Двумерные списки также можно создавать с помощью генераторов списков. Мы только что изучили генераторы списков в предыдущем разделе, поэтому мы можем напрямую использовать этот метод для упрощения нашего кода.
Мы еще раз создаем двумерный список с шестью строками и шестью столбцами. Его код относительно прост. Код следующий:
my_list=[[iforiinrange(1,7)]forjinrange(1,7)]print(my_list)
Результат:
[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3, 4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]
Этот метод не только экономит время, но и оптимизирует код. Он эквивалентен созданию 6 списков в цикле и присвоению 6 значений. Наконец, они помещаются в список для формирования двумерного списка.
Давайте узнаем больше на примере.
Мы хотим создать список размером 6*6, а затем значения в нем выбираются случайным образом от 1 до 100. Код выглядит следующим образом:
importrandom#random — это модуль в системной библиотеке, который можно вызвать в любое время. Вот краткое введение my_list=[]#Сначала создайте список foriinrange(6):#Создайте 6 списков в цикле и поместите их в my_list j. =[]мой_список.appen d(j)forkinrange(6):c=random.randint(1,100)#Вызовите метод в случайном порядке для генерации случайных чисел и присвойте значение сгенерированного случайного числа cj.append(c)#Добавить значение c Добавить в список j print(my_list)
Результат:
[[52,83,15,35,54,60],[17,61,77,99,60,50],[88,81,9,61,76,95],[21,52,20, 49,10,61],[94,81,48,27,80,9],[1,94,57,66,95,97]]
Идея этого вопроса соответствует второму методу, указанному выше. Студенты, не владеющие навыками составления списков, могут использовать этот метод на раннем этапе. По сравнению с предыдущим примером он добавляет функцию случайного значения.
Что касается двумерного списка, то это очень важно для учащихся, которые хотят участвовать в соревновании. Если вы столкнетесь позже с задачей лабиринта или проблемой 2n ферзя, без использования двумерного списка вам не обойтись. кратко представим это здесь. Вы можете. В качестве предварительного понимания в последующих вопросах конкурса будут даны пояснения по этим двум типам вопросов. Конечно, мы также можем перейти к двумерному списку.