我在 python 中使用“pulp”和 GUROBI 来解决一些优化问题。例如,GUROBI的计算日志是:
Optimize a model with 12 rows, 25 columns and 39 nonzeros
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+00, 1e+00]
Found heuristic solution: objective 12
Presolve removed 3 rows and 12 columns
Presolve time: 0.00s
Presolved: 9 rows, 13 columns, 27 nonzeros
Variable types: 0 continuous, 13 integer (13 binary)
Root relaxation: objective 7.000000e+00, 11 iterations, 0.00 seconds
Nodes | Current Node | Objective Bounds | …
Run Code Online (Sandbox Code Playgroud) 我有一个列表a = ['L','N','D'].我想颠倒a中元素的顺序并得到b = ['D','N','L'].我试过这个:
a = ['L', 'N', 'D']
b = sorted(a, reverse=True)
Run Code Online (Sandbox Code Playgroud)
但输出是
b= ['N', 'L', 'D']
Run Code Online (Sandbox Code Playgroud)
我在哪里弄错了?
在Python 2中,假设我们有两个列表:
list1 = [["A"],["A","B"],["B","D"],["C"],["A","B","D"]]
list2 = [5,10,10,15,10]
Run Code Online (Sandbox Code Playgroud)
我想基于list2(权重)按降序排序list1,每当两个项目的权重相同时(例如x = ["A","B","D"]和y = ["B", "D"]的重量为10),长度较大的那个首先出现.对于list1和list 2,我希望输出如下:
[["C"], ["A","B","D"], ["A","B"],["B","D"],["A"]
]
这怎么可能?
我所知道的是,我们可以通过首先定义来根据大小对它们进行排序
zipped = zip(list1,list2)
Run Code Online (Sandbox Code Playgroud)
然后:
zipped.sort(key=lambda t: t[1],reverse=True)
Run Code Online (Sandbox Code Playgroud)