字典
字典
一条巨蟒字典
允许您映射任意关键
值到数据块。任何不可变的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示例中看到这个函数。