Python 函数知道传递给它的值的索引

Python 函数知道传递给它的值的索引,python,indexing,Python,Indexing,所以,我想做一个函数,但我想让它也知道,正如标题中所说,传递给它的值的索引是什么。 这是我的密码: Map = {'room11' : [[1,1,1,2,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,2],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]], 'room21' : [[1,1,1,2,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],

所以,我想做一个函数,但我想让它也知道,正如标题中所说,传递给它的值的索引是什么。 这是我的密码:

Map = {'room11' : [[1,1,1,2,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,2],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],
       'room21' : [[1,1,1,2,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[2,0,0,0,0,0,2],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],
       'room31' : [[1,1,1,2,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[2,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],
       'room12' : [[1,1,1,2,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,2],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,2,1,1,1]],
       'room22' : [[1,1,1,2,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[2,0,0,0,0,0,2],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,2,1,1,1]],
       'room32' : [[1,1,1,2,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[2,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,2,1,1,1]],
       'room13' : [[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,2],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,2,1,1,1]],
       'room23' : [[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[2,0,0,0,0,0,2],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,2,1,1,1]],
       'room33' : [[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[2,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,2,1,1,1]]
       }

def get_list(room):
    return (???)
我希望它在调用时返回:

# I'm calling it
get_list(Map[room11][3][0])

# And this is what I want it to return
3
它正在从地图[房间][3][0]获取3
有人能告诉我怎么做吗?

传递地图和索引,让函数进行索引:

def example(data, room, x, y):
    print(f'The value at ({x}, {y}) in room {room} is {data[room][x][y]}')

get_list(Map, 'room11', 3, 0)

或者根据函数的实际用途,只传递房间数据(如
Map['room11']
)和坐标可能更有意义。你明白了。

如何
3
?您的
映射中没有
3
。您只是将一个整数传递给函数,即在
(映射[room11][3][0]
)中找到的值。换句话说,您使用
获取列表(1)调用此函数
。函数不知道您正在尝试获取
room11
索引
3
,等等。因为这些都是在调用函数之前计算的。此外,还不清楚您为什么没有从上一个问题中学到这一点:嗯,这是否意味着这是不可能的?我认为这个问题的措辞可能比las更好t、 我希望你能在不添加任何参数的情况下做到这一点。不,这是不可能的。函数不知道你做了什么来获得传递给它的值。