【发布时间】:2020-01-23 02:35:38
【问题描述】:
我正在查看需要解释的这个 python 代码:
arr = [0, 0, 0, 0, 1, 2, 3, 4,5]
arr = arr[next((i for i, x in enumerate(arr) if x != 0), len(arr)):]
此代码将从数组中删除前导零,我试图了解它是如何工作的。我知道我们创建了一个迭代器,它将迭代 arr 的所有元素但 0 值,然后只迭代到数组长度(不包括)。
但是next,如何将这些索引组合成一个数组呢?
【问题讨论】:
-
您认为这里到底有什么问题?执行完全相同的代码来创建 [1 2 3 4 5]
-
可能是这样,但我仍然想了解它是如何工作的。
-
没关系。我没有仔细阅读。答案来了
标签: python python-3.x iterator next object-slicing