Chyba syntaxe:Vytvoření 2d Seznam Naplněn Žádné

0

Otázka

Jak jsem Mohl Inicializovat 2D Seznam Naplněn Nuly Bez Jakékoli Další Knihovny/Modulu

zde to, co je můj pokus

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

to funguje v případě 1d seznam:Vektor, Ale Selže V Případě 2d

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

Kód:
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

Nejlepší odpověď

0

Jste uvedení na vnitřní porozumění roli v nesprávné poloze. Zkuste:

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

První, _ zde není nic divného; je to jen fiktivní název, který je nám to jedno. Mohli bychom to pojmenovat i například, a nic se nezmění.

[... for _ in range(rows)] dělá seznam s délka rowss předměty dána .... Teď ... byl [0 for _ in range(cols)], tj. seznam nul s délkou cols. Proto, výsledkem je seznam (mající délku row) [0, 0, ..., 0].

2021-11-24 05:48:32

Fungovalo to, ale můžete mi vysvětlit jak?
CodeBhiErrorBhi

@CodeBhiErrorBhi přidal jsem nějaké vysvětlení.
j1-lee

V jiných jazycích

Tato stránka je v jiných jazycích

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