枚举是什么意思?
我在Python中使用tkinter,并遇到以下代码:
for row_number, row in enumerate(cursor):
我想知道在这种情况下是否有人可以解释枚举的含义?
enumerate()
函数为迭代器添加一个计数器。
因此,对于cursor
每个元素,元组都由(counter, element)
; for
循环分别将其绑定到row_number
和row
。
演示:
>>> 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
。