Error de sintaxis:la Creación de Un 2d Lista Llena de Cero

0

Pregunta

¿Cómo Podría Inicializar Un 2D Lista Llena de Ceros Sin Ningún aumento en la Biblioteca/Módulo de

aquí lo que es mi intento de

table = [0 for i in range(amount + 1)[0 for j in range(len(coins))]]

funciona en caso de 1d lista:Vector, Pero no En el Caso De 2d

Código:
table = [0 for i in range(amount + 1)]
O/P:
[0,0,0,0,0,0,0,0,0,0,0,0]

Código:
table = [0 for i in range(amount + 1)[0 for j in range(len(coins))]]
O/P:
Syntax Error

arrays list python python-2.7
2021-11-24 05:22:28
1

Mejor respuesta

0

Usted está poniendo el interior de la comprensión de la parte en la posición incorrecta. Probar:

rows, cols = 4, 5
table = [[0 for _ in range(cols)] for _ in range(rows)]
print(table)
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

En primer lugar, _ aquí no es nada extraño, es sólo un nombre ficticio, que no nos importa. Podríamos nombre i por ejemplo, y nada cambia.

[... for _ in range(rows)] hace una lista con longitud de rowscon los elementos dados por .... Ahora ... fue [0 for _ in range(cols)], es decir, una lista de ceros con la longitud cols. Por lo tanto, el resultado es una lista (que tienen una longitud de row) de [0, 0, ..., 0].

2021-11-24 05:48:32

Funcionó, pero ¿puede usted explicar cómo?
CodeBhiErrorBhi

@CodeBhiErrorBhi he añadido algunas explicaciones.
j1-lee

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................