Индексирование переменных в Python 3.5 с PuLP

Я пытаюсь сделать мой код для задачи линейного программирования немного более простым. Что у меня сейчас есть:

normal_hours_laptop_01 = LpVariable('Hours for laptop in month 1', 0, 20000)
normal_hours_laptop_02 = LpVariable('Hours for laptop in month 2', 0, 20000)
normal_hours_laptop_03 = LpVariable('Hours for laptop in month 3', 0, 20000)
normal_hours_laptop_04 = LpVariable('Hours for laptop in month 4', 0, 20000)

и так далее...

Я хотел бы закодировать это в формате как:

d = {}

for x in range(1,13):
    d["production_hours_laptop_{0}".format(x)] = LpVariable("Production hours for laptop in month {}".format(x)]

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

Я могу напечатать список со всеми именами переменных, но не могу использовать отдельные переменные в расчетах. Кто-нибудь знает, как это сделать?

1 ответ

 d = {x: LpVariable("Production hours for laptop in month {}".format(x), 0, 2000) 
      for x in range(1, 13)}

затем d[1] равно LpVariable для 1. Эта техника называется словарным пониманием.

Другие вопросы по тегам