Python Dict Назначение значения ключа в цикле - PullRequest
0 голосов
/ 30 июня 2018

У меня есть список переменных: [var1, var2, var3, var4].

Для var1 я попробовал следующее, и оно работает.

d = dict(var1=True)
f = bdd.cube(d)

Теперь я хочу перебрать все переменные и для каждой переменной присвоить значение True. Функция bdd.cube может принимать только аргумент d полностью, а не как имя, значение отдельно.

Я попытался сделать следующее, но выдает ошибку подтверждения:

AssertionError: неопределенная переменная "var", известны следующие переменные: {var1: 3, var2: 11, var3: 2, var4: 8}

for var in variables:
  d = dict(var=True):
  f = bdd.cube(d)

Пожалуйста, дайте мне знать, как это сделать.

Объявление переменных выглядит следующим образом:

 Cvar           = Enum('Cvar', 'var1 var2 var3 var 4', module=__name__)

    Attributes = [CVar]
    variables = List_of_Variables(Attributes)

    def List_of_Variables(a):
      v = w = []
      for attribute in a:
        w = ['%s' %(i) for i in list(attribute)]
      return w

1 Ответ

0 голосов
/ 30 июня 2018

Это все, что вам нужно:

for var in d:
    d[var] = True

for цикл будет перебирать все ключи в словаре. Переменная var является текущим ключом (в данном случае это строка). Затем нам нужно установить значение этого ключа на True.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...