У меня есть легкий доступ к списку переменных как таковых:
[a, b, c,]
Мне было интересно, можете ли вы понять (или что-то) на имена переменных, чтобы получить dict, который выглядит так:
{ 'a'=a, 'b'=b, 'c'=c }
Список не содержит переменных. Он относится к объектам, которые он содержит; так же, как имена "a", "b", "c" относятся к тем же самым объектам.
Таким образом, получение элемента из списка дает вам объект. Этот объект может иметь ноль, один или несколько имен; он не знает ни одного из них.
Если вы знаете, что в тот момент, когда вы создаете список, который позже захотите сослаться на элементы по имени, это звучит так, как будто вы хотите создать dict.
Может быть что-то вроде внизу?
dict(zip(arr,arr))
Edit:
Из предложенных дубликатов, если вы хотите, чтобы:
for i in ('a', 'b', 'c'):
dic[i] = locals()[i]
но вы должны иметь список как ['a','b','c']
Если у вас есть его как [a,b,c]
, значения все равно заменили бы имена переменных.
vars = [i for i in locals() if i and "__" not in i and "<" not in i]; dict(zip(vars,[locals[i] for i in vars]))
свое решение, выполнив vars = [i for i in locals() if i and "__" not in i and "<" not in i]; dict(zip(vars,[locals[i] for i in vars]))