Ich schreibe ein Python-Programm, um Tic Tac Toe zu spielen, mit Numpy-Arrays mit "X" durch 1
und "O" von 0
dargestellt. Die Klasse enthält eine Funktion, eine Markierung auf dem Brett zu platzieren:Wie entpacke ich eine Liste oder Tupel in Python
import numpy as np
class Board():
def __init__(self, grid = np.ones((3,3))*np.nan):
self.grid = grid
def place_mark(self, pos, mark):
self.grid[pos[0],pos[1]] = mark
, so dass zum Beispiel
board = Board()
board.place_mark([0,1], 1)
print board.grid
ergeben
[[ nan 1. nan]
[ nan nan nan]
[ nan nan nan]]
Ich frage mich, ob das pos[0], pos[1]
Argument in der place_mark
Funktion könnte irgendwie durch den "entpackten" Inhalt von pos
ersetzt werden (was immer eine Liste der Länge 2 ist). In Ruby würde dies mit dem splat-Operator geschehen: *pos
, aber dies scheint keine gültige Syntax in Python zu sein.
'board.place_mark ((0,1), 1)' und 'self.grid [pos] = mark' –