2014-12-10 2 views
0

Возможно ли установить имя переменной в длину массива в Python?Установить переменное имя на длину массива

Например (в псевдо-код):

list = [1, 2, 3] 
someVar[len(list)] = obj(value1, value 2) 

Таким образом, переменная может упоминаться нравится:

print (someVar3) 

Возможно ли это?

+5

ДИКТ будет достаточно. – user2097159

+0

Вы также можете сделать это как атрибут объекта, например. 'SetAttr (theObject, ул (Len (список)), OBJ (val1, val2))'. Однако это зло, злое злоупотребление 'setattr'. –

+0

Подумайте, почему вы хотели бы это сделать? – Foon

ответ

2

в @ user2097159 сказал в своем комментарии, вы лучше с помощью dict:

my_list = [1, 2, 3] 
someVar = {} 
someVar[len(my_list)] = obj(value1, value 2) 
print (someVar[3]) 
3
someVar = {} 
obj= [4,5] 
my_list = [1, 2, 3] 
someVar[len(my_list)] = (obj[0], obj[1]) 

print someVar[3] 

выход:

(4, 5) 

Да, просто использовать Dict.

Кроме того, не используйте «список» в качестве имени переменной. Это уже built-in type

1

Вы можете делать то, что вы предлагаете, только если элемент уже существует (при использовании списка). Но использование dictionnary является лучшим вариантом здесь:

d = {} 
d[any_hashable_object] = object 
Смежные вопросы