从 Python 中的生成器或列表中获取前 N 个项目
在这个问题中,用户查询 LINQ 的 Python 等效项命令 Take(5) 从数组中检索前五个元素。为了解决这个请求,提供了多种解决方案。
对列表进行切片
Python 列表可以使用以下语法进行切片:
array[start:stop:step]
其中每个参数都可以省略,从而产生以下有效切片:
例如:
top5 = array[:5]
对生成器进行切片
在 Python 中直接对生成器进行切片是不可能的。相反,可以使用 itertools.islice() 函数,它接受以下语法:
itertools.islice(generator, start, stop, step)
使用 itertools.islice(),您可以获得生成器的前五个元素:
import itertools top5 = itertools.islice(my_list, 5)
其他注意事项
对发电机进行切片时,您应该注意它会部分耗尽发电机。要保留完整的生成器,请考虑首先将其转换为元组或列表,例如:
result = tuple(generator)
以上是我可以从 Python 中的生成器或列表中检索前 N 项吗?的详细内容。更多信息请关注PHP中文网其他相关文章!