Slicing a list
top5 = array[:5]
- To slice a list, there's a simple syntax:
array[start:stop:step]
- You can omit any parameter. These are all valid:
array[start:]
, array[:stop]
, array[::step]
Slicing a generator
import itertools
top5 = itertools.islice(my_list, 5) # grab the first five elements
You can't slice a generator directly in Python. itertools.islice()
will wrap an object in a new slicing generator using the syntax itertools.islice(generator, start, stop, step)
Remember, slicing a generator will exhaust it partially. If you want to keep the entire generator intact, perhaps turn it into a tuple or list first, like: result = tuple(generator)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…