![](/img/trans.png)
[英]How do I stop redefining a variable after every loop of a function?
[英]How do I stop my function from entering a value into every list?
對於我的分配,我需要在包含 3 個列表的列表的子列表中的特定索引中插入一個值。 它不是僅更改 1 個子列表中的值,而是在每個子列表中更改它。
我嘗試重新輸入用於確定索引的值。
def make_move(cur, move, player):
m0 = move[0]
m1 = move[1]
cur[m0][m1] = player
make_move(world, (1,0), 'X')
print(world)
我希望 output 是:
[['', '', ''], ['X', '', ''], ['', '', '']]
我收到的是:
[['X', '', ''], ['X', '', ''], ['X', '', '']]
我做了世界function如下:
def set_up_game(size):
n = 0
num = 0
s = int(get_game_size(size))
game = []
rows = []
columns = ''
while n < s:
rows.append(columns)
n += 1
while num < s:
game.append(rows)
num += 1
return game
問題是這條線:
game.append(rows)
將其更改為:
game.append(list(rows))
這將在game
列表中創建新列表。
您最初所做的(使用 while 循環)相當於:
game = [row] * num
你可以在這里看到這樣做的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.