python - 循环遍历列表,找到大于前一个最小值的最小值

标签 python list

一个简单的问题。

我有一个列表列表,我希望找到每个列表中大于前一个最小值的最小值。

列表是单独排序的,对于第一个列表,我只是寻找最小值。

例如:

my_list = [[3, 5, 8, 14, 18, 28, 30],
           [4, 6, 7, 9, 13, 15, 17, 19, 22, 26],
           [2, 11, 21, 24, 32],
           [1, 10, 12, 16, 20, 23, 25, 27, 29, 31, 33, 34]]

预期输出为:

[3, 4, 11, 12]

最佳答案

它应该非常可读:

minimums = []
minimum = None
for sublist in my_list:
    try:
        minimum = min(x for x in sublist if minimum is None or x > minimum)
        minimums.append(minimum)
    except ValueError: # No numbers greater than minimum
        # Error handling

关于python - 循环遍历列表,找到大于前一个最小值的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36596111/

相关文章:

python - 以元组形式将列表添加到字典中

android - List 中的可绘制图像未显示在 Android Studio 上。 ( Kotlin )

python - 为什么以下列表理解在 Python 中不起作用?

Python - 获取用户定义类的排序列表

python - 在 Python 中将对象转换为子类?

python - Emacs 24.3 python 模式在函数结束后错误地缩进代码

python - Heroku 未能满足安装 pip 要求

python - 使用lxml获取父标签id

python - 使用 tee 从 python 获取实时打印语句

css - IE7 float 列表元素格式问题