字典

字典

一条巨蟒字典允许您映射任意关键值到数据块。任何不可变的Python对象可以用作键:整数、浮点数、字符串甚至元组。

举个例子,下面的语句创建了一个字典x,然后关联一个值1与关键(“彭斯”、“丹佛”、“纽约”)

gurobi> x ={} #创建一个空字典gurobi> x[('Pens', 'Denver', 'New York')] = 1 gurobi> print(x[('Pens', 'Denver', 'New York')]
Python允许你在使用元组访问字典时省略括号,所以下面的语句也有效:
gurobi> x = {} gurobi> x['Pens', 'Denver', 'New York'] = 2
我们已经在这里的字典中存储了整数,但是字典可以存储任意对象。特别地,它们可以持有Gurobi决策变量:
gurobi> x['Pens', 'Denver', 'New York'] = model.addVar()Var *等待模型更新*>

要初始化字典,你当然可以简单地对每个相关键执行赋值:

Gurobi > values[' 0 '] = 0 Gurobi > values[' 1 '] = 1
你也可以使用Python字典初始化结构:
Gurobi > print(values[' 0 ']) 0 . Gurobi > print(values[' 0 ']) 1 . Gurobi > print(values[' 0 ']) 1 . Gurobi > print(values[' 0 ']

我们在Gurobi Python接口中包含了一个实用程序例程,它为数学建模中经常出现的情况简化了字典初始化。的multidict函数允许在单个语句中初始化一个或多个字典。该函数接受一个字典作为参数,其中与每个键相关联的值是一个长度列表n.该函数将这些列表分割为单独的条目,创建n单独的字典。函数返回一个列表。第一个结果是共享键值列表,然后是n个人字典:

gurobi >名称、低上= multidict({“x”:[0,1],“y”:[1、2],“z”:[0,3]})gurobi >打印(名称)(x, y, z的]gurobi >打印(低){“x”:0,“y”:1、“z”:0}gurobi >打印(上){“x”:1、“y”:2,“z”:3}
注意,还可以将此函数应用于每个键映射到标量值的字典。在这种情况下,该函数只是返回键列表作为第一个结果,原始字典作为第二个结果。

您将在我们的几个Python示例中看到这个函数。