Если мне нужен список, инициализированный 5 нулями, это очень приятно и легко:
[0] * 5
Однако, если я изменю свой код, чтобы добавить более сложную структуру данных, например список нулей:
[[0]] * 5
не будет работать должным образом, так как это будет 10 копий одного и того же списка. Я должен сделать:
[[0] for i in xrange(5)]
который кажется громоздким и использует переменную, поэтому иногда я даже делаю:
[[0] for _ in " "]
Но если я хочу список списков нулей, он становится более уродливым:
[[[0] for _ in " "] for _ in " "]
все это вместо того, что я хочу сделать:
[[[0]]*5]*5
Кто-нибудь нашел элегантный способ справиться с этой "проблемой"?