列表中两个切片的最小最大值/最大值

用户名

我有一个类似的列表[3,10,4,3,9,15,6,13],我想找到两个不重叠的序列/序列,并通过取最大-最小的值来获得最大的值。它们必须是顺序的,因此您不能从1中减去项目3。但是,您可以从3中减去索引1。

因此,在我的示例中,您将获得对[3,10]和[3,15]。您如何以编程方式执行此操作。这是我到目前为止所得到的。

Python:

l = [3,10,4,3,9,15,6,13]
pair1=[max(l), min(l)]
l.remove(max(l))
l.remove(min(l))
pair2=[max(l), min(l)]

哪一个当然不能满足我的要求,但是我不确定如何找到两对。找到上面的代码对可以正常工作,但不能找到两个,因为您通常会得到重叠的序列。

奥利维尔·佩里尔·库特(Olivier Pellier-Cuit)

写这个很有趣:

import itertools as it

l = [3,10,4,3,9,15,6,13]

r=sorted(
    map(lambda x: (x[0:2], x[2:4]),
        sorted(it.imap(
            lambda x: (min(x[0:2]), max(x[0:2]), min(x[2:4]), max(x[2:4])),
            it.imap(lambda x: (l[x[0]], l[x[1]], l[x[2]], l[x[3]]),
                    it.combinations(range(len(l)), 4))),
               key=lambda x: -(x[1]-x[0]+x[3]-x[2])))[0],
    key=lambda x: x[0]-x[1])

print(r)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用排序从切片的间隔中获取最大值和最小值

Python:比较两个列表,并用符号获取最大值和最小值

计算Less中两个值的最小值/最大值

Javascript切片数组查找最大值

查找(并记录)numpy数组的切片的最大值

使用Numpy Python切片并获取最大值

两个列表及其索引之间的最大值

在两个列表之间排序最大值

如何在Postgres / SQL中获得两个整数的最小值/最大值?

在Scala中获取两个相似列的最小值或最大值

当对象为两个最大值时,显示数组中对象的最大值

基于最小/最大值的NumPy动态数组切片

删除R中两个向量的最大值

R中两个相等的最大值

通过列表递增并找到一系列切片的最大值

如何按切片值从最小值到最大值对highchart pie jasperstudio进行排序

如何使用切片从变量中获取最大值?

熊猫迭代序列中可变长度切片的最大值

MySQL在两个(或多个)给定值中选择最小值/最大值

结合LISP中的两个函数来原子化列表然后找到最大值?

如何使用理解过滤Erlang中两个列表的最大值?

查找矩阵中两个值之间的局部最小值和局部最大值

两个表和重复组的SQL最小值最大值

哪些函数确定两个整数的最大值或最小值?

两个零之间值的最大值

在两个值之间选择最大值PostgreSQL

使div宽度最大值为两个值?

装配找到两个值的最大值

在Python中查找列表的最小值,最大值