リストのリストとして表される Python の n 次元行列があるとします。nタプルを使用してマトリックスにインデックスを付けたいと思っています。これは可能ですか?どのように?
ありがとうございました!
使用する
>>> matrix = [[1, 2, 3], [4, 5, 6]]
できるよ:
>>> array_ = numpy.asarray(matrix)
>>> array_[(1,2)]
6
またはnumpyなし:
>>> position = (1,2)
>>> matrix[position[0]][position[1]]
6
1 つの方法を次に示します。
matrx = [ [1,2,3], [4,5,6] ]
def LookupByTuple(tupl):
answer = matrx
for i in tupl:
answer = answer[i]
return answer
print LookupByTuple( (1,2) )
楽しみのために:
>>> get = lambda i,m: m if not i else get(i[1:], m[i[0]])
>>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> idx = (1,2)
>>> get(idx, matrix)
6