首页  >  文章  >  后端开发  >  如何从 Python 中的生成器或列表中检索前 N 项?

如何从 Python 中的生成器或列表中检索前 N 项?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-20 20:11:30588浏览

How Can You Retrieve the First N Items from a Generator or List in Python?

如何从生成器或列表中检索前 N 个项目?

类似于 LINQ 表达式 "var top5 = array.Take( 5)、“如何在 Python 中完成同样的任务?

对列表进行切片

Python 提供了一种简洁的列表切片语法:

<code class="python">top5 = array[:5]</code>
  • 参数代表开始、停止和步骤。
  • 任何参数都可以省略,从而得到有效的表达式,如 array[start:]、array[:stop] 或 array[::step ].

对生成器进行切片

在 Python 中不能直接对生成器进行切片。相反,使用 itertools.islice(),它会创建一个新的切片生成器:

<code class="python">import itertools
top5 = itertools.islice(my_list, 5)</code>
  • 记住,切片生成器会部分耗尽它。如果需要保留整个生成器,请预先将其转换为元组或列表,例如 result = tuple(generator).

以上是如何从 Python 中的生成器或列表中检索前 N 项?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn