从生成器或列表中获取前 N 个元素的优雅方法
在 .NET 的 LINQ 中,从集合中检索前 N 个项目是使用简洁的 Take() 方法很简单。想知道如何在 Python 中实现这一壮举?
轻松切片列表
处理列表时,切片语法占据主导地位:
top5 = array[:5]
这个简单的表达式有效地获取数组的前五个元素。如果需要,您可以调整参数以提取特定范围。
使用 islice 导航生成器
然而,生成器提出了不同的挑战。直接在 Python 中对它们进行切片是徒劳的。输入 itertools.islice(),您值得信赖的切片生成器盟友:
import itertools top5 = itertools.islice(my_list, 5) # secure the first five elements
生成器的巧妙警告
请记住,在生成器上使用 islice() 会部分耗尽它。为了保持整个生成器完好无损,请考虑首先将其转换为元组或列表:
result = tuple(generator)
以上是如何在 Python 中从生成器和列表中检索前 N 个元素?的详细内容。更多信息请关注PHP中文网其他相关文章!