鑑於我有一個多維列表的目標位置。即一個索引存儲在一個變量中。如何使用python中的變量訪問列表的元素
list = [[1,2,3,4,5],
[10,20,30,40,50],
[5,4,3,2,1],
[50,40,30,20,10]]
target = [3][4]
如何訪問list [target]?
>>> list[target]
10
鑑於我有一個多維列表的目標位置。即一個索引存儲在一個變量中。如何使用python中的變量訪問列表的元素
list = [[1,2,3,4,5],
[10,20,30,40,50],
[5,4,3,2,1],
[50,40,30,20,10]]
target = [3][4]
如何訪問list [target]?
>>> list[target]
10
你不能直接這樣做,因爲list [variable]將成爲列表的條目;該變量必須是一個索引。
所以,你需要的是一些方法來獲取列表[變量] [變量] [變量]
這不能用一個簡單的變量可悲的是做,即使它是真的很酷。
做到這一點的最好方法是做一個遞歸函數來做到這一點,它把你的列表target=[3,4,1]
並返回值,如此。
def target_value(my_list, place):
if len(place) == 1:
return my_list[place[0]]
return target_value(my_list[place[0]],place[1:])
您需要調用它作爲一個正常的功能,讓您的列表和目標(target = [3,4,1]
)作爲參數。
訪問'list [3] [4] [1]'謝謝,那就是我在找什麼。 –
如果你想導入外部函數,Rawing的版本更簡單,或者如果你希望它成爲程序的一部分,這個遞歸函數將會工作。 –
如果target
給出像[3, 4, 1]
指數列表,你可以使用reduce
:
from functools import reduce # not required in py2
result = reduce(list.__getitem__, target, my_list)
請注意,如果你已經使用list
爲您的變量的名稱,這將無法正常工作。切勿爲變量使用內建的名稱。將其命名爲my_list
或更具描述性的內容。
這很簡單,謝謝。 –
'list [3] [4] [1]'? –
什麼是list [target]應該是什麼意思? – khelwood
什麼是'target = [3] [4] [1]'應該是什麼意思? – melpomene