Словарь Python к переменным присвоениям на основе значения ключа к имени переменной

В основном я хочу взять a

Словарь как { "a":"bar", "b":"blah", "c":"abc", "d":"nada" }

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

class Foo(object)
{
    self.a = ""
    self.b = ""
    self.c = ""
}

Таким образом в конец self.a = "панель", self.b = "вздор", и т.д.... (и ключ "d" проигнорирован),

Какие-либо идеи?

9
задан twasbrillig 3 December 2014 в 00:56
поделиться

2 ответа

Переводя ваше утверждение class на язык Python,

class Foo(object):
  def __init__(self):
    self.a = self.b = self.c = ''
  def fromdict(self, d):
    for k in d:
      if hasattr(self, k):
        setattr(self, k, d[k])

метод fromdict, похоже, обладает функциональностью, которую вы запрашиваете.

5
ответ дан 4 December 2019 в 21:08
поделиться
class Foo(object):
    a, b, c = "", "", ""

foo = Foo()

_dict = { "a":"bar", "b":"blah", "c":"abc", "d":"nada" }
for k,v in _dict.iteritems():
    if hasattr(foo, k):
        setattr(foo, k, v)
3
ответ дан 4 December 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: