Получить название элемента списка

1

У меня есть легкий доступ к списку переменных как таковых:

[a, b, c,]

Мне было интересно, можете ли вы понять (или что-то) на имена переменных, чтобы получить dict, который выглядит так:

{ 'a'=a, 'b'=b, 'c'=c }
Теги:
dictionary

2 ответа

1
Лучший ответ

Список не содержит переменных. Он относится к объектам, которые он содержит; так же, как имена "a", "b", "c" относятся к тем же самым объектам.

Таким образом, получение элемента из списка дает вам объект. Этот объект может иметь ноль, один или несколько имен; он не знает ни одного из них.

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

0

Может быть что-то вроде внизу?

dict(zip(arr,arr))

Edit:

Из предложенных дубликатов, если вы хотите, чтобы:

for i in ('a', 'b', 'c'):
   dic[i] = locals()[i]

но вы должны иметь список как ['a','b','c'] Если у вас есть его как [a,b,c], значения все равно заменили бы имена переменных.

  • 0
    Далее вы могли бы 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]))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню