字典

字典

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

举个例子,下面的语句创建了一个字典x,然后关联一个值1与关键(《笔》(Pens)、《丹佛》(Denver)、《纽约》(New York))

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> print(x['Pens', 'Denver', 'New York']) 

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

Gurobi > values = {} Gurobi > values[' 0 '] = 0 Gurobi > values['one'] = 1 Gurobi > values['two'] = 2
你也可以使用Python字典初始化构造:
Gurobi > values = {' 0 ': 0, 'one': 1, 'two': 2} Gurobi > print(values[' 0 ']) 0 Gurobi > print(values['one']) 1

我们在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例子中看到这个函数。