islice(iterable, [start, ] stop [, step]):
创建一个迭代器,生成项的方式类似于切片返回值: iterable[start : stop : step],将跳过前start个项,迭代在stop所指定的位置停止,step指定用于跳过项的步幅。与切片不同,负值不会用于任何start,stop和step,如果省略了start,迭代将从0开始,如果省略了step,步幅将采用1.https://blog.csdn.net/larykaiy/article/details/82934527
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

示例:

step1:创建文本文档

my_file.txt

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  Copyright 2019 wzg16 <wzg16@wzg16-linux>
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#  MA 02110-1301, USA.

step2:读取文档前三行

read1.py


with open("my_file.txt") as f:lines = f.readlines()print(lines[0:3])"""
返回:
['#!/usr/bin/env python\n', '# -*- coding: utf-8 -*-\n', '#\n']
"""

read_islice.py

from itertools import islicewith open("my_files.txt") as f2:for i in islice(f2,0,3):print(i)result = islice(f2,0,3)print(result)print(list(result))"""
输出:
#!/usr/bin/env python# -*- coding: utf-8 -*-#  <itertools.islice object at 0x7f52a94dedb8>
['#  Copyright 2019 wzg16 <wzg16@wzg16-linux>\n', '#  \n', '#  This program is free software; you can redistribute it and/or modify\n']
"""

islice 会消耗迭代器:

示例:

from itertools import islicel = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
it = iter(l)slice1 = islice(it,0,3)
slice2 = islice(it,0,3)
slice3 = islice(it,3,6)
slice4 = islice(it,0,3)print("slice1 = ",list(slice1))
print("slice2 = ",list(slice2))
print("slice3 = ",list(slice3))
print("slice4 = ",list(slice4))"""
输出:
slice1 =  [1, 2, 3]
slice2 =  [4, 5, 6]
slice3 =  [10, 11, 12]
slice4 =  [13, 14, 15]"""

python : itertools 中的 islice : 获取迭代器结果的切片,消耗迭代器相关推荐

  1. python用于获取用户输入的函数是_在Python函数中,用于获取用户输入的是( )...

    在Python函数中,用于获取用户输入的是( ) 答:input() 中国大学MOOC:\"骨质疏松症的特征是是以骨量减少.骨的微观结构退化,致使发生的严重后果是\"; 答:\&q ...

  2. Python| itertools之pairwise:获取连续的重叠对

    简介 最近刷力扣好几次都遇到了pairwise这个函数,感觉还挺方便的,今天又遇到后,搜索了一下他的含义及其用法. 总结如下. 参考网址: 「Python」Python 标准库之 itertools ...

  3. python itertools模块_Python标准模块--itertools

    1 模块简介 Python提供了itertools模块,可以创建属于自己的迭代器.itertools提供的工具快速并且节约内存.开发者可以使用这些工具创建属于自己特定的迭代器,这些特定的迭代器可以用于 ...

  4. [Python] itertools.islice(iterable, start, stop[, step]) 创建迭代器并返回所选元素

    首先介绍一下itertools - Functions creating iterators for efficient looping(函数创建迭代器以实现高效循环) 功能: 创建一个迭代器,从迭代 ...

  5. Python 3中的Itertools,例如

    It has been called a "gem" and "pretty much the coolest thing ever," and if you ...

  6. 如何在Python中便宜地获取大文件的行数?

    我需要在python中获取一个大文件(数十万行)的行数. 内存和时间最有效的方法是什么? 目前,我这样做: def file_len(fname):with open(fname) as f:for ...

  7. python itertools模块_Python中的Itertools模块

    itertools提供的工具快速且高效,为了提升代码质量及避免重复造轮子,有必要学习下. 无限迭代器 count(start=0, step=1) count迭代器以start为起点(默认0),ste ...

  8. Python Itertools.chain()用法【将一组迭代对象串联起来,形成一个更大的迭代器】

    它是一个需要一系列可迭代对象并返回一个可迭代对象的函数.它将所有可迭代对象组合在一起,并生成一个可迭代对象作为输出. 场景一:  chain()可以把一组迭代对象串联起来,形成一个更大的迭代器: &g ...

  9. Python——itertools.chain.from_iterable将多个迭代器连接成一个统一的迭代器的最高效的方法

    1 致谢 感谢网友"-柚子皮-"的帮助, 原文链接如下: https://blog.csdn.net/pipisorry/article/details/45171451 感谢 P ...

最新文章

  1. jquery mobile的a标签点击无法跳转的问题
  2. P4318 完全平方数
  3. 设置程序无label
  4. 6.虚拟机类加载机制
  5. KVM更改虚拟机默认存储路径
  6. vue click事件_vue指令用法
  7. bzoj1596[Usaco2008 Jan]电话网络*
  8. xml学习中的趣事一件----嘿嘿!
  9. 使用jprobe建设镜面层叠的原则和见解
  10. 【22】Vue 之 Vue Devtools
  11. hitool java_Hitool打开出现failed to create the java virtual machine
  12. Moore-Penrose伪逆(Moore-Penrose广义逆)
  13. icloud连接服务器时出现问题_苹果iCloud连接超时/验证失败解决方法
  14. 2021年12月电子学会图形化四级编程题解析含答案:聪明的小猫
  15. html邮箱图标代码,CSS3 单元素邮件图标
  16. 基于WebSocket和Redis实现Bilibili弹幕效果
  17. linux下c语言调用mysql,Linux下C语言连接MySQL
  18. [Ubuntu 18.04]公共DNS设置[/etc/resolv.conf]
  19. Python第八课(函数1)
  20. Python监听鼠标左键被点击,gogo,急停,

热门文章

  1. nacos 单机部署_nacos简介以及作为注册/配置中心与Eureka、apollo的选型比较
  2. java的字符串复制_我应该如何复制Java中的字符串?
  3. mysql5.6 多实例 主从安装_MySQL5.6一主多从的半同步复制实例
  4. 前端怎么自我介绍_未雨绸缪,小米前端实习面经
  5. php指定编码创建,MYSQL创建数据库时指定编码
  6. java数组删除数组元素_如何在Java中删除数组元素
  7. 如何检查Python字典中是否存在密钥
  8. 链接列表插入删除方法
  9. 寻找最佳特征维度_寻找5种最佳设计模式书
  10. java map中套map_Java Map – Java中的Map