如何从生成器或列表中获取前 N 个项目? [英] How to take the first N items from a generator or list?

查看:19
本文介绍了如何从生成器或列表中获取前 N 个项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用 我会

var top5 = array.Take(5);

如何用 Python 做到这一点?

How to do this with Python?

推荐答案

切片列表

top5 = array[:5]

  • 要对列表进行切片,有一个简单的语法:array[start:stop:step]
  • 您可以省略任何参数.这些都是有效的:array[start:]array[:stop]array[::step]
  • import itertools
    top5 = itertools.islice(my_list, 5) # grab the first five elements
    

    • 您不能直接在 Python 中对生成器进行切片.itertools.islice() 将包装一个使用语法 itertools.islice(generator, start, stop, step)

      请记住,对生成器进行切片会使其部分耗尽.如果你想保持整个生成器完整,可以先把它变成一个元组或列表,比如:result = tuple(generator)

      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)

      这篇关于如何从生成器或列表中获取前 N 个项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆