python - 查找列表中符合条件的最后一个元素

标签 python list select element

我有矩阵(类型列表),我只想选择适合我的条件的最后一行。具体来说,我有这个矩阵:

matrix = [
         [[0], whatever0],
         [[1], whatever1],
         [[1, 0], whatever10],
         [[1, 1], whatever11],
         [[1, 2], whatever12],
         [[1, 3], whatever13],
         [[1, 4], whatever14],
         ]

我只想选择最后一行 i 使得 len(matrix[i][0]) == 1,所以答案应该返回 [[1],whatever1]。

尚未找到如何回答该特定问题。谢谢。

最佳答案

你可以这样做:

matrix = [
    [[0], 'whatever0'],
    [[1], 'whatever1'],
    [[1, 0], 'whatever10'],
    [[1, 1], 'whatever11'],
    [[1, 2], 'whatever12'],
    [[1, 3], 'whatever13'],
    [[1, 4], 'whatever14'],
]

result = next((e for e in reversed(matrix) if len(e[0]) == 1), None)
print(result)

输出

[[1], 'whatever1']

说明

首先使用 reversed 向后迭代列表并仅返回具有 len(e[0]) == 1 的元素。然后用next只得到第一个结果。

关于python - 查找列表中符合条件的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53008597/

相关文章:

python - 显示随机选择(Python)

mysql - 具有不同 where 条件的多个内部联接

python:无法解释的无限递归与__repr__

python - 带有 Eclipse 的 TensorFlow

python - 类型错误 : object of type 'filter' has no len()

list - Makefile - 遍历列表并选择特定值

python - 如何将列表变量名变成字符串

嵌套解释器中的 python Cmd 模块自动完成错误

reactjs - 类型错误 : Cannot read property 'toLowerCase' of undefined in reactjs

mysql:连接两个选择语句?