Ejercicio listas de listas en Python

Problema lista de listas en python

Se tiene una lista de listas:

grid = [[['.', '.', '.', '.', '.', '.'],['O', 'O', 'O', 'O', 'O','.'],['.', 'O', 'O', '.', '.', '.'],['O', 'O', 'O', 'O', '.','.']], [['.', '.', '.', '.', '.', '.'], ['.', 'O', 'O', '.', '.','.'], ['O', 'O', 'O', 'O', '.', '.'], ['O', 'O', 'O', 'O', 'O','.'], ['.', 'O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O','.'], ['O', 'O', 'O', 'O', '.', '.'], ['.', 'O', 'O', '.', '.','.'], ['.', '.', '.', '.', '.', '.']]]

Escriba el código que muestre lo siguiente:

..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....

Solución

Para resolverlo lo que tenemos que hacer es recorrer las listas del segundo grupo de listas y concatenar los elementos 0, luego los elementos 1, así hasta llegar a los elementos 9, luego imprimirlos. El código del problema es como sigue:

#ordenamos la lista
#es una lista con dos listas dentro
#la primera lista tiene 4 listas
#la segunda lista tiene 9 listas
grid = [
		[
			['.', '.', '.', '.', '.', '.'],
			['O', 'O', 'O', 'O', 'O','.'],
			['.', 'O', 'O', '.', '.', '.'],
			['O', 'O', 'O', 'O', '.','.']
		], 
		[
			['.', '.', '.', '.', '.', '.'], 
			['.', 'O', 'O', '.', '.','.'], 
			['O', 'O', 'O', 'O', '.', '.'], 
			['O', 'O', 'O', 'O', 'O','.'], 
			['.', 'O', 'O', 'O', 'O', 'O'], 
			['O', 'O', 'O', 'O', 'O','.'], 
			['O', 'O', 'O', 'O', '.', '.'], 
			['.', 'O', 'O', '.', '.','.'], 
			['.', '.', '.', '.', '.', '.']
		]
	]
#Sacamos la cantidad de elementos de la lista
#que es 6
d = (len(grid[1][0]))
#sacamos la cantidad de listas de la lista 2
#que es 9
e = (len(grid[1]))

#vamos a recorrer 6 veces
for x in range(d):	
	n = 0 #Iniciamos un contador
	palabra = "" #Creamos una palabra
	
	#Vamos a recorrer las 9 listas
	for y in range(e):
		lista = grid[1][n] #seleccionamos la lista [1][n]
		n = n+1 #aumentamos n en 1
		palabra=palabra+lista[x] #concatenamos la palabra
	print(palabra)#terminado el priemr for, imprimimos la palabra

Deja un comentario

2 + 9 =

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.