You may see Python code like this:
1 2 | for i,v in enumerate(data): pass |
for i,v in enumerate(data): pass
So, what does the enumerate() function do? The enumerate() in python takes a list as its first parameter, and optionally support the second parameter, which is the start-index. By default, the index starts at zero.
The enumerate() returns an iterator.
1 2 3 4 5 | >>> a = ['a','b','c'] >>> enumerate(a) <enumerate object at 0x7f04d8738048> >>> list(enumerate(a)) [(0, 'a'), (1, 'b'), (2, 'c')] |
>>> a = ['a','b','c'] >>> enumerate(a) <enumerate object at 0x7f04d8738048> >>> list(enumerate(a)) [(0, 'a'), (1, 'b'), (2, 'c')]
The iterator can be converted to list, and we can see that the enumerate() will return an iterator of tuple, where the first element in the tuple is the incrementing index, and second element of the tuple is the corresponding value in the list. You can start the index from one, by passing the optional second parameter. See below:
1 2 | >>> list(enumerate(a, 1)) [(1, 'a'), (2, 'b'), (3, 'c')] |
>>> list(enumerate(a, 1)) [(1, 'a'), (2, 'b'), (3, 'c')]
You can combine the use of the zip() in Python that is also producing the same iterator, see below:
1 2 3 4 | >>> list(zip(range(len(a)), a)) [(0, 'a'), (1, 'b'), (2, 'c')] >>> list(enumerate(a)) [(0, 'a'), (1, 'b'), (2, 'c')] |
>>> list(zip(range(len(a)), a)) [(0, 'a'), (1, 'b'), (2, 'c')] >>> list(enumerate(a)) [(0, 'a'), (1, 'b'), (2, 'c')]
–EOF (The Ultimate Computing & Technology Blog) —
loading...
Last Post: Algorithms to Determine Unique Number of Occurrences
Next Post: Sliding Window to Get Equal Substrings Within MaxCost Budget