gpt4 book ai didi

python - 如何在Python中返回列表列表中第一个非负列表的索引?

转载 作者:行者123 更新时间:2023-11-28 21:35:33 25 4
gpt4 key购买 nike

所需的输出是第一个非负列表的索引。

假设我嵌套了如下所示的数字列表。我正在尝试找出如何删除负列表的值或仅返回列表中所有值均为正的索引。

我的想法是枚举或循环一个函数来检查列表是否具有负值,然后从列表列表中弹出或删除

或者我使用列表理解吗?

# pseudocode
x = [[-1, -2, -1], [-1, -3, -1], [1, 2, 2]]
index_x = [x.index(non_negative(x)) for x in data]
print(index_x)
# 2

最佳答案

您可以将 next 与生成器表达式和 enumerate + all 结合使用。您的逻辑相当于查找包含所有非负值的第一个子列表的索引。

x = [[-1, -2, -1], [-1, -3, -1], [1, 2, 2]]

res = next((idx for idx, sub in enumerate(x) if all(i >= 0 for i in sub)), None)

# 2

仅当您希望提取与条件匹配的所有子列表的索引时,列表理解才有用。内置的 next 函数从可迭代对象中检索第一个值。如果没有找到子列表,则返回指定的None

关于python - 如何在Python中返回列表列表中第一个非负列表的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52120373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com