Estadísticas del código: Crear una matriz a partir de una lista - Python

Imágen de perfil
Val: 1.703
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Crear una matriz a partir de una lista


Python

Publicado el 22 de Abril del 2021 por Katas (150 códigos)
4.020 visualizaciones desde el 22 de Abril del 2021
A partir de una lista de valores, crear una matriz con tantas columnas como valores tenga la matriz y con tantas filas como el valor mas alto de la lista, donde cada posición es una columna, y cada numero es una fila. Por lo tanto pondremos el valor 1 en la columna y fila indicada.

Por ejemplo, la lista [0, 1, 2] devolverá esta matriz:
1
2
3
4
5
[
    [1, 0, 0],
    [0, 1, 0],
    [0, 0, 1]
]

La lista [6,0,3,2,5,1,4] devolverá esta matriz:
1
2
3
4
5
6
7
8
9
[
    [0, 1, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 1, 0],
    [0, 0, 0, 1, 0, 0, 0],
    [0, 0, 1, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 1],
    [0, 0, 0, 0, 1, 0, 0],
    [1, 0, 0, 0, 0, 0, 0]
]


Utilizando el ejemplo de joel publicado en: https://www.lawebdelprogramador.com/codigo/Python/6150-Crear-una-lista-bidimensional.html, creamos una lista dentro de otra lista (en este caso, la rellenamos de ceros):
1
[[0 for x in range(len(lista))] for y in range(max(lista)+1)]
pero en vez de poner siempre un 0, ponemos un 1 cuando coincide la fila con la columna:
1
...1 if lista[x]==y else 0...
quedando:
1
[[1 if lista[x]==y else 0 for x in range(len(lista))] for y in range(max(lista)+1)]

117 visualizaciones durante los últimos 90 días


10
0