我想通過將字典鍵和numpy數組拼接成列表來拼成一個新的元組。不過,我得到這個錯誤從列表和字典中創建新的元組
TypeError: list indices must be integers, not tuple
這裏是我的代碼
import numpy
import random
print(ly)
{(1, 3): 2, (5, 2): 1, (10, 1): 0}
def myFun(layout):
possibilities = numpy.zeros(shape=(4,2))
possibilities[0] = [1, 0]
possibilities[1] = [-1, 0]
possibilities[2] = [0, 1]
possibilities[3] = [0, -1]
newLayout = tuple()
for i in layout:
randomDirection = random.choice(possibilities)
newLayout = newLayout + layout.keys()[i] + list(randomDirection)
解釋說明此行
newLayout = newLayout + layout.keys()[i] + list(randomDirection)
是有問題,但我不明白爲什麼
我假設'ly'被傳遞作爲'layout'。 'ly'的鍵是元組,所以'對於我在layout中',意味着''''是一個'元組',你不能用'元組'來索引'list'。注意:Py3中的'layout.keys()'不會返回'list',即使'i'是'int'也會中斷。 – AChampion
你字典的鍵是元組,你正在循環它們,所以'i'的類型是'元組' – Sanket
可以請你分享所需的輸出。 –