我正在編寫一個Python程序來播放Tic Tac Toe,使用帶有1
代表的「X」和0
代表的「O」的Numpy陣列。這個類包含的功能放置在基板上的標記:如何在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
,使得,例如,
board = Board()
board.place_mark([0,1], 1)
print board.grid
產生
[[ nan 1. nan]
[ nan nan nan]
[ nan nan nan]]
我想知道如果pos[0], pos[1]
參數在place_mark
函數可能以某種方式被pos
(它始終是長度爲2的列表)的「解壓縮」內容替換。在Ruby中,這將使用splat運算符完成:*pos
,但這在Python中似乎不是有效的語法。
'board.place_mark((0,1),1)'和'self.grid [pos] = mark' –