我有一个如下所示的数据结构:
[(1, 2), (2, 3), (4, 0), (5, 10), (6, 0), (7, 0)]
在第二个元素为0的列表末尾仅过滤掉元组的最佳方法是什么?
所需的输出是:
[(1, 2), (2, 3), (4, 0), (5, 10)]
答案 0 :(得分:1)
我更喜欢@MartijnPieters的解决方案,用于就地
>>> L = [(1, 2), (2, 3), (4, 0), (5, 10), (6, 0), (7, 0)]
>>> i = next((i for i, (x, y) in enumerate(reversed(L)) if y != 0), 0)
>>> L[:-i]
[(1, 2), (2, 3), (4, 0), (5, 10)]