2015-10-20 6 views
1

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

list[0][2] 

Однако, когда я пытаюсь использовать переменную вместо:

uinput = input("Number:) 
list[uinput][2] 

Я получаю ошибку:

TypeError: list indices must be integers or slices, not str 

(Я пробовал это со словарем, используя тот же формат, и он выдавал ту же ошибку)

+0

не называйте свои списки 'list' –

+0

Я склонен быть более наглядным, но это был всего лишь пример. Является ли список зарезервированным где-то в python или он предназначен для чтения, которого вы предлагаете не делать? – Prof

+1

Если вы используете список как имя переменной, вы больше не сможете создавать списки, используя список (...) встроенной функции (потому что вы запишете имя) –

ответ

3

Вы делаете это правильно, но сначала вам нужно преобразовать его в целое.

uinput = int(input('Number: ')) 

В противном случае это строка и вызовет ошибку, которую вы видели.

+0

Идеально и только 60 секунд после запроса слишком – Prof

+0

Вы были уже очень близко к решению! –