2016-06-29 4 views
0

У меня есть два списка:Использование переменных в качестве индекса в списке

List1 = [1, 3, 6, 8, 1, 61, 89, ...] # This is how List1 is declared 
List2[1][3][6][8][1][61][89][...] # This is how I want to access data from List2 

List1 является одним одномерным список с неопределенным размером (может иметь 1, 2 или бесконечные элементы)

List2 является мульти -мерный (вложенный) список (может быть 2d или 3d или бесконечный)

Я хотел использовать списки, подобные этому List2[List1[0]][List1[1]][List1[...]]; Я хочу получить доступ к данным в List2, используя данные от List1.

Я попытался следующие, но я получил ошибку

len(List2[List1]) 

Как я могу получить доступ к данным List2 «s с использованием индексов в List1?

+2

Таким образом, для 'List1', что вы на самом деле показать,' [1, 2, ...] ', вы хотите' List2 [1] [2] ... '? В этом случае вы можете просто использовать 'target = List2; для индекса в List1: target = target [index] '. Впоследствии элемент, который вы ищете, будет присвоен «target». – jonrsharpe

+0

Что означает 'List2 [1] [3] [6] [8] [1] [61] [89] [...]' означает? – mirosval

+0

Я попытался сделать ваши примеры последовательными, пожалуйста, дважды проверьте, что я сделал это правильно. – jonrsharpe

ответ

0

len(List2[List1]): Вы пытаетесь проиндексировать List2 с использованием List1, а индексация в списках выполняется с использованием целых чисел.

Try: len(List2[List1[0]])