gpt4 book ai didi

python - 获取过滤子列表项的线性索引

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

相当具体的问题,很难用谷歌搜索。假设我有一个列表列表:

lists = [[30,34,0,0],[455,0,0],[0,509,0,0,0,0,444]]

如何通过以下顺序操作返回列表列表:

  • 删除零条目
  • 线性索引剩余条目

预期输出:

[[0,1],[2],[3,4]]

第一部分很容易通过列表理解获得:

lists_no_zeros =  [[value for value in row if value != 0] for row in lists]

当然,列表理解、zip、枚举的某种组合应该可以解决问题..

最佳答案

你已经成功了一半。您可以使用 itertools.count() 获取索引:

>>> from itertools import count
>>> c = count()
>>> lists = [[30,34,0,0],[455,0,0],[0,509,0,0,0,0,444]]
>>> [[next(c) for value in sublist if value] for sublist in lists]
[[0, 1], [2], [3, 4]]

关于python - 获取过滤子列表项的线性索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45344015/

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