Erro de sintaxe:a Criação de Uma 2d Lista Preenchido Com Zero

0

Pergunta

Como posso Inicializar Um 2D Lista Preenchido Com Zeros, Sem Qualquer Adicional Biblioteca/Módulo

aqui o que é a minha tentativa

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

funciona em caso de 1d lista:Vetor, Mas Falha No Caso De 2d

Código:
table = [0 for i in range(amount + 1)]
S/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))]]
S/P:
Syntax Error

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

Melhor resposta

0

Você está colocando o interior de compreensão de parte na posição errada. Tente:

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]]

Primeiro, _ aqui é nada estranho; ele é apenas um nome fictício, que nós não nos importamos. Poderíamos nome i por exemplo, e nada muda.

[... for _ in range(rows)] faz uma lista com comprimento rows, com os itens de dado por .... Agora ... foi [0 for _ in range(cols)], i.é., uma lista de zeros com comprimento cols. Portanto, o resultado é uma lista (com comprimento row) de [0, 0, ..., 0].

2021-11-24 05:48:32

Funcionou, mas você pode explicar como?
CodeBhiErrorBhi

@CodeBhiErrorBhi eu adicionei algumas explicações.
j1-lee

Em outros idiomas

Esta página está em outros idiomas

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