辞書キーとnumpy配列をつなぎ合わせて新しいタプルを作成しようとしています。しかし、私はこのエラーここリストと辞書から新しいタプルを作成する
TypeError: list indices must be integers, not tuple
を取得することはインタプリタが問題であるとして、このライン
newLayout = newLayout + layout.keys()[i] + list(randomDirection)
を示し
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)
私のコードですが、私は、なぜ
を解決する私はly'がlayout' 'として渡されている'と仮定しています。 'ly'のキーはタプルです。' iはレイアウトのために 'i'が' tuple'を意味し、 'tuple'で' list'をインデックスできません。注意:Py3の 'layout.keys()'は 'list'をもう返さず、' i'が 'int'だったとしても中断します。 – AChampion
あなたはdictキーがタプルであり、あなたがそれらをループしているので、間違いなく 'i'のタイプは' tuple' – Sanket
です。希望する出力を共有してください。 –