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

查看:123
本文介绍了如何从Python的生成器或列表中获取前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]
    • 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]
    •  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)

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

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