ary*_*yan 3 python enumerate python-3.x
默认情况下,enumerate()从0开始计数,但如果你给它一个第二个整数参数,它将从该数字开始,但我们如何从count和elem的特定值枚举.例如,我们希望将计数传递为'2',将elem传递为'bar'.两个值都必须传递给枚举函数.
elements = ('foo', 'bar', 'baz')
for count, elem in enumerate(elements):
print (count, elem)
Run Code Online (Sandbox Code Playgroud)
可以遍历一个切片数据,并开始在特定的整数枚举:
start_at = 1
elements = ('foo', 'bar', 'baz')
for count, elem in enumerate(elements[start_at:], start_at):
print (count, elem)
Run Code Online (Sandbox Code Playgroud)
输出:
1 bar
2 baz
Run Code Online (Sandbox Code Playgroud)
文档:
start
开始iterable
使用该数字开始编号第0个元素)编辑:
如果您正在使用不可切片的迭代器,则必须解决它:
start_at = 3 # first one included (0 based)
stop_at = 5 # last one (not included)
elements = ('foo', 'bar', 'baz', 'wuzz', 'fizz', 'fizzbuzz', 'wuzzfizzbuzz', 'foobarfuzzbizzwuzz')
# skip first few
it = iter(elements)
for _ in range(start_at):
print("skipping: ", next(it)) # dont print, simply: next(it)
# enumerate the ones you want
i = start_at
for _ in range(stop_at-start_at):
print(i,next(it)) # you might need a try: except StopIteration:
i+=1
Run Code Online (Sandbox Code Playgroud)
要得到:
skipping: foo
skipping: bar
skipping: baz
3 wuzz
4 fizz
5 fizzbuzz
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
94 次 |
最近记录: |