2012-11-12 3 views
1

Короткий вопрос, как мне сделать это преобразование с помощью Python?преобразовать строку во вложенный список с помощью Python

a["1-3-6-3-6"] ---> a[1][3][6][3][6] 

У меня есть вложенный список, и я хочу, чтобы иметь возможность получить деталь, непосредственно из строки аргумента, переданного методу.

+0

Не могли бы вы немного вычислить, так как 'a [1] [3] [6] [3] [6]' не является точно списком. – bereal

+0

Я отредактировал вопрос, надеюсь, теперь он имеет больше смысла. Благодарю. – kooshka

ответ

3
>>> path = '1-3-6-3-6' 
>>> element = a 
>>> for segment in path.split('-'): 
     element = element[int(segment)] 

После этого element равно, что было в a[1][3][6][3][6].

0

Это может быть то, что вы хотите

>>> i="1-3-6-3-6" 
>>> b=i.split("-") 
>>> b 
['1', '3', '6', '3', '6'] 

Затем вы можете использовать индексы внутри Ь, чтобы спуститься в ваш вложенный список с помощью рекурсии.

Смежные вопросы