字典

一条巨蟒字典可以让你任意地图关键值的数据。任何不可变的Python对象可以用作关键:一个整数,浮点数,一个字符串,或甚至一个元组。

举个例子,下面的语句创建一个字典x,然后将一个值1与关键(“笔”、“掘金”,“纽约”)

gurobi > x ={} #创建一个空的字典gurobi > x[(“笔”、“掘金”,“纽约”))= 1 gurobi >打印(x[(“笔”、“掘金”,“纽约”)])1
Python可以省略括号使用元组当访问一个字典,所以以下同样也有一定道理:
gurobi > x = {} gurobi > x[“笔”,“掘金”,“纽约”)= 2 gurobi >打印(x(“笔”,“掘金”,“纽约”])2
我们在字典存储整数,但是字典可以容纳任意对象。特别是,他们可以容纳Gurobi决策变量:
gurobi > x[“笔”、“掘金”,“纽约”]= model.addVar () gurobi >打印(x(“笔”,“掘金”,“纽约”])< gurobi。Var *等待模型更新* >

初始化一个字典,您当然可以简单地执行任务为每个相关的关键:

gurobi >值= {}gurobi >值(“0”)= 0 gurobi >值['一']= 1 gurobi >值(“两个”)= 2
您还可以使用Python字典初始化构造:
gurobi >值={“零”:0,“一个”:1、“两个”:2}gurobi >打印(值(“0”))0 gurobi >打印(值['一'])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示例。