过滤内容,
版本
文本搜索
tuplelist类
下一个重要项目我们想讨论的tuplelist
类。这是Python的一个自定义子类列表
类,是为了让你有效地构建列表的元组的列表。更具体地说,您可以使用选择
方法tuplelist
匹配一个或多个对象检索所有元组在特定字段中指定的值。
让我们给一个简单的例子。我们将首先创建一个简单的tuplelist
(通过一个元组列表构造函数):
gurobi > l = tuplelist ([(1、2), (1,3) (2、3), (2、4)))选择一个列表,特定的元组条目匹配所需的值,指定所需的值作为参数
选择
方法。参数的数量选择
=条目的数量的成员吗tuplelist
(他们应该都有相同数量的条目)。您可以提供一个列表参数表明,多个值是可以接受的元组在那个位置,或‘*’
字符串,表明任何值是可以接受的。每个元组在我们的例子中包含两个条目,因此我们可以执行以下选择:
gurobi >打印(l。选择(1, '*'))gurobi> print(l.select('*', 3)) gurobi> print(l.select('*', [2, 4])) gurobi> print(l.select(1, 3)) gurobi> print(l.select('*', '*'))
您可能已经注意到,类似的结果可能是通过使用列表理解。例如:
gurobi >打印(l。选择(1, '*'))问题是,后者认为列表中的每一个成员的声明中,这对大的列表是非常低效的。的gurobi> print([(x,y) for x,y in l if x == 1]) [(1, 2), (1, 3)]
选择
方法构建内部数据结构,使这些选择很有效。请注意,tuplelist
的子类列表
,所以你可以使用标准的列表
方法来访问或修改tuplelist
:
gurobi >打印(l [1]) (1、3) gurobi > l + = [(3, 4)] gurobi >打印(l) < gurobi。tuplelist(5 tuples, 2 values each): ( 1 , 2 ) ( 1 , 3 ) ( 2 , 3 ) ( 2 , 4 ) ( 3 , 4 ) >