Sözdizimi Hatası: Sıfır ile Dolu Bir 2d Liste Oluşturma

0

Soru

Herhangi Bir Ek Kütüphane/Modül Olmadan Sıfırlarla Dolu Bir 2D Listesini Nasıl Başlatabilirim

işte benim girişimim nedir

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

1d list:Vector durumunda çalışır, Ancak 2d Durumunda Başarısız Olur

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

Kod:
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

En iyi cevabı

0

İçsel kavrayış kısmını yanlış konuma getiriyorsunuz. Denemek:

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

İlk, _ burada garip bir şey yok; bu sadece sahte bir isim, ki umursamıyoruz. Adı bilebiliriz i örneğin, hiçbir şey değişmez.

[... for _ in range(rows)] uzunluğu olan bir liste yapar rows, tarafından verilen öğelerle .... Şimdi ... oldu [0 for _ in range(cols)] yani, uzunluğu olan sıfırların listesi cols. Bu nedenle, sonuç bir listedir (uzunluğa sahip row) birden [0, 0, ..., 0].

2021-11-24 05:48:32

İşe yaradı ama nasıl olduğunu açıklayabilir misin?
CodeBhiErrorBhi

@CodeBhiErrorBhi Bazı açıklamalar ekledim.
j1-lee

Diğer dillerde

Bu sayfa diğer dillerde

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