Как я могу объявить сетку чисел 5x5 в Python? - PullRequest
1 голос
/ 28 января 2010

Как бы я это объявил? Я думаю что-то вроде:

boardPieces = ["A","O","A"
               "A", "A", "O"
              ]

Ответы [ 5 ]

5 голосов
/ 28 января 2010

Я предполагаю, 2D-матрица? Нечто подобное должно работать.

boardPieces = [["A","O","A","A", "A"],["A","O","A","A", "A"],["A","O","A","A", "A"],["A","O","A","A", "A"],["A","O","A","A", "A"]]
3 голосов
/ 28 января 2010

В дополнение к данным ответам - если вам нужно работать с двумерными (или более крупными) массивами в Python, очень хорошая библиотека для этой цели - Numpy - http://numpy.scipy.org/.

Помимо прочего, он позволяет вам легко «преобразовывать» массив в любую логическую форму, подходящую вам в определенный момент (например, список из 6 значений можно рассматривать как любой из следующих массивов - 1x6, 2x3, 3x2, ...).

Выход этого кода -

import numpy

boardPieces = numpy.array( [ "A", "O", "A", "A", "A", "O" ], numpy.character )
boardPieces = boardPieces.reshape( [ 2, 3 ] )
print boardPieces
boardPieces = boardPieces.reshape( [ 3, 2 ] )
print boardPieces

Было бы -

[['A' 'O' 'A']
 ['A' 'A' 'O']]
[['A' 'O']
 ['A' 'A']
 ['A' 'O']]

Может не подходить для вашего конкретного случая использования, но может служить справочным материалом для других.

2 голосов
/ 28 января 2010
[[0] * 5 for x in range(5)]

или

[[0 for x in range(5)] for y in range(5)]

Первый будет работать только с неизменяемыми типами, а второй будет работать с любым типом.

0 голосов
/ 30 апреля 2017

Создание матрицы нулей 5x5

ls = [[0]*5]*5
print(ls)

Output:
[[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]]

Аналогично матрица значений строкового типа

ls = [['A','O','A','A','A']]*5
print(ls)

Output: 
[['A', 'O', 'A', 'A', 'A'],
 ['A', 'O', 'A', 'A', 'A'],
 ['A', 'O', 'A', 'A', 'A'],
 ['A', 'O', 'A', 'A', 'A'],
 ['A', 'O', 'A', 'A', 'A']]
0 голосов
/ 28 января 2010

Просто сделай так.

[["A","O","A","O","A"],[...],[...],[...],[...]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...