Синтаксическая Ошибка:Создание 2d-Списка, Заполненного Нулем

0

Вопрос

Как Я Мог Инициализировать 2D-Список, Заполненный Нулями, Без Какой-Либо Дополнительной Библиотеки/Модуля

вот в чем заключается моя попытка

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

это работает в случае 1d списка:Вектор, Но не работает В случае 2d

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

Код:
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

Лучший ответ

0

Вы ставите часть внутреннего понимания в неправильное положение. Попробуй:

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

Первый, _ здесь нет ничего странного; это просто фиктивное имя, которое нас не волнует. Мы могли бы назвать это i например, и ничего не меняется.

[... for _ in range(rows)] составляет список с длиной rows, с предметами, указанными .... Теперь ... был [0 for _ in range(cols)], т. е. список нулей с длиной cols. Следовательно, результатом является список (имеющий длину row) из [0, 0, ..., 0].

2021-11-24 05:48:32

Это сработало, но можете ли вы объяснить, как это произошло?
CodeBhiErrorBhi

@CodeBhiErrorBhi Я добавил некоторые пояснения.
j1-lee

На других языках

Эта страница на других языках

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