枚举是什么意思?

我在Python中使用tkinter,并遇到以下代码:

for row_number, row in enumerate(cursor): 

我想知道在这种情况下是否有人可以解释枚举的含义?

enumerate()函数为迭代器添加一个计数器。

因此,对于cursor每个元素,元组都由(counter, element) ; for循环分别将其绑定到row_numberrow

演示:

 >>> elements = ('foo', 'bar', 'baz') >>> for elem in elements: ... print elem ... foo bar baz >>> for count, elem in enumerate(elements): ... print count, elem ... 0 foo 1 bar 2 baz 

默认情况下, enumerate()0开始计数,但是如果你给它一个第二个整数参数,它将从这个数字开始:

 >>> for count, elem in enumerate(elements, 42): ... print count, elem ... 42 foo 43 bar 44 baz 

这是一个内置的生成器函数,请参阅http://docs.python.org/2/library/functions.html#enumerate

简而言之,它产生一个迭代器的元素,以及一个索引号:

 for item in enumerate(["a", "b", "c"]): print item 

版画

 (0, "a") (1, "b") (2, "c") 

如果你想循环一个interator并且希望有一个索引计数器是有用的。 如果你想让计数器从其他值开始(通常是1),你可以把它作为第二个参数来enumerate

Interesting Posts