Uma lista bidimensional coloca outras listas em uma lista como elementos da lista, que é um aninhamento de listas . Aqueles que foram expostos a C ou C++ podem entender o conceito de arrays. Em Python, arrays existem em bibliotecas de terceiros. Portanto, se quisermos usar métodos de array em Python sem instalar plug-ins de terceiros. uma lista bidimensional.
Na verdade, os elementos da lista podem ser de qualquer tipo de dados.
minha_lista=[[1,2,3,4,5],'dotcpp',{1,2,3,},('www','dotcpp','com')]print(minha_lista)
A saída é:
[[1,2,3,4,5],'dotcpp',{1,2,3},('www','dotcpp','com')]
Esta lista contém listas, strings, conjuntos e tuplas. Quando todos os elementos de uma lista são listas, ela é nossa lista bidimensional mais comumente usada. A seguir serão apresentados vários métodos de criação e acesso a listas bidimensionais.
O método de criação direta é inserir o nome da lista diretamente após defini-lo. Vamos definir um pequeno teclado simples, ou seja, 1-9:
minha_lista=[[1,2,3],[4,5,6],[7,8,9]]imprimir(minha_lista)
A saída é:
[[1,2,3],[4,5,6],[7,8,9]]
Quando entendemos isso, podemos entender assim:
Como pode ser visto na figura, minha_lista[0] corresponde a [1,2,3], portanto quando acessamos 1, suas coordenadas correspondentes são (0,0), e podemos acessá-lo através do índice, ou seja, my_list[0 ][0], seu valor corresponde a 1, e outros valores são acessados da mesma forma. Por exemplo, o método de acesso correspondente ao elemento 9 é my_list[2][2].
A criação de uma lista também pode ser feita usando um loop, geralmente usando um loop for. Vamos criar uma lista bidimensional 6*6.
my_list=[]#Primeiro crie uma lista principal paraiinrange(6):#Percorra 6 vezes e crie uma nova lista para cada elemento da lista principal por vez j=[]#Primeiro crie uma nova lista e adicione-a à lista principal list my_list.append(j)forminrange(1,7):j.append(m)#Adicione elementos à sublista print(my_list)#Output
A saída é:
[[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]]
O resultado real da saída deve estar em uma linha. Ele é organizado assim para a conveniência de todos. Você também pode tentar criar uma lista bidimensional por meio de um loop while.
Listas bidimensionais também podem ser criadas usando compreensões de listas. Acabamos de aprender compreensões de listas na seção anterior, portanto, podemos usar esse método diretamente para simplificar nosso código.
Mais uma vez criamos uma lista bidimensional com seis linhas e seis colunas. Seu código é relativamente simples.
minha_lista=[[iforiinrange(1,7)]forjinrange(1,7)]print(minha_lista)
A saída é:
[[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]]
Este método não só economiza tempo, mas também otimiza o código. É equivalente a criar 6 listas em um loop e atribuir 6 valores. Por fim, eles são colocados em uma lista para formar uma lista bidimensional.
Vamos aprender mais através de um exemplo.
Queremos criar uma lista 6*6 e, em seguida, os valores nela são selecionados aleatoriamente de 1 a 100. O código é o seguinte:
importrandom#random é um módulo na biblioteca do sistema e pode ser chamado a qualquer momento. Aqui está uma breve introdução my_list=[]#Primeiro crie a lista foriinrange(6):#Crie 6 listas em um loop e coloque-as em my_list j. =[]my_list.append (j)forkinrange(6):c=random.randint(1,100)#Chame um método aleatoriamente para gerar números aleatórios e atribua o valor do número aleatório gerado a cj.append(c)# Adicione o valor de c print(my_list) na lista j
A saída é:
[[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]]
A ideia desta questão é consistente com o segundo método acima. Os alunos que não são proficientes em derivação de listas podem usar este método no estágio inicial. Em comparação com o exemplo anterior, ele adiciona uma função de valor aleatório.
Em relação à lista bidimensional, isso é muito importante para os alunos que desejam participar da competição. Quer você encontre o problema do labirinto ou o problema da 2n rainha mais tarde, não poderá prescindir do uso da lista bidimensional. irá apresentá-lo brevemente aqui. Como uma compreensão preliminar, haverá explicações sobre esses dois tipos de questões nas questões da competição subsequentes. Claro, também podemos ir mais longe para a lista bidimensional.