Créer et initialiser la grille de 5x5 pour les Cuirassés

Donc, je viens de terminer une section de CodeAcademy Cuirassé problème, et ont présenté une bonne réponse mais j'ai du mal à comprendre pourquoi il est correct.

L'idée est de construire une grille de 5x5 comme un conseil, remplis de "O". Le bon code que j'ai utilisé était:

board = []
board_size=5

for i in range(board_size):

    board.append(["O"] *5)

Cependant, je suis confus quant à pourquoi n'en est pas de créer 25 "O" dans une seule ligne comme je n'ai jamais spécifié pour accéder à une ligne distincte. J'ai essayé

for i in range(board_size):

    board[i].append(["O"] *5)

mais cela m'a donné l'erreur: IndexError: list index out of range. Quelqu'un peut-il expliquer pourquoi le premier est correct et pas la seconde?

OriginalL'auteur KRS-fun | 2014-01-29