import itertools
import heapqlines1 = ['zhang', 'phil', 'fly']
lines2 = ['#hello', 'world']my_list = ['a', 'b', 'c']
print("enumerate")
for idx, val in enumerate(my_list, 1):  # 第二个参数1,数组下标从1开始。若设为0,则是传统数组下标。print(idx, val)# 连接两个数组。
print("chain")
x = itertools.chain(lines1, lines2, [3, 2, 1])
print(list(x))# 循环生成数据列表,再切片。
print("cycle")
x = itertools.cycle(lines1)
print(list(itertools.islice(x, 1, 2, 1)))# 切片。
print("count")
x = itertools.count(start=20, step=-1)
print(list(itertools.islice(x, 0, 3, 1)))# 测试条件。
print("dropwhile")
x = itertools.dropwhile(lambda e: e < 3, range(10))
print(list(x))# 有条件截取数据。
print("takewhile")
x = itertools.takewhile(lambda e: e < 3, range(10))
print(list(x))#分组
print("groupby")
x = itertools.groupby(range(10), lambda x: x < 5 or x > 8)
for c, numbers in x:print(c, list(numbers))# 生成重复的元素数组。
print("repeat")
x = itertools.repeat(11, 5)
print(list(x))# 测试条件。
print("starmap")
x = itertools.starmap(str.isupper, 'ZhangPhil')
print(list(x))print("tee")
x = itertools.tee(range(10), 2)
for l in x:print(list(l))print("zip")
a = [1, 2, 3]
b = ['w', 'x', 'y', 'z']
c = ['a', 'b']
for i in zip(a, b, c):print(i)print("merge")
a = [1, 4, 7, 10]
b = [2, 5, 6, 11]
print(list(heapq.merge(a, b)))

输出:

enumerate
1 a
2 b
3 c
chain
['zhang', 'phil', 'fly', '#hello', 'world', 3, 2, 1]
cycle
['phil']
count
[20, 19, 18]
dropwhile
[3, 4, 5, 6, 7, 8, 9]
takewhile
[0, 1, 2]
groupby
True [0, 1, 2, 3, 4]
False [5, 6, 7, 8]
True [9]
repeat
[11, 11, 11, 11, 11]
starmap
[True, False, False, False, False, True, False, False, False]
tee
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
zip
(1, 'w', 'a')
(2, 'x', 'b')
merge
[1, 2, 4, 5, 6, 7, 10, 11]

Python迭代器itertools相关推荐

  1. permutations python_为什么Python的itertools.permutations包含重复项? (当原始列表重复时)...

    为什么Python的itertools.permutations包含重复项? (当原始列表重复时) 普遍认为,n个不同符号的列表有n! 排列. 但是,当符号不明确时,在math和其他地方最常见的惯例似 ...

  2. Python 迭代器和 C++ 迭代器,最大的不同竟然是......

    作者 | 樱雨楼 责编 | 胡巍巍 前言 迭代器(Iterator)是 Python 以及其他各种编程语言中的一个非常常见且重要,但又充满着神秘感的概念.无论是 Python 的基础内置函数,还是各类 ...

  3. 全面理解Python迭代器和生成器

    | 在Python中,很多对象都是可以通过for语句来直接遍历的,例如list.string.dict等等,这些对象都可以被称为可迭代对象.至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知 ...

  4. java 迭代器的hasnext,在Python迭代器中具有hasNext?

    Python迭代器是否没有hasNext方法? 相关:我如何知道一开始发电机是否为空? 使用next(iterator, default_value)可以替代StopIteration. 例如: &g ...

  5. python 彩票排列组合_对福彩3D号码进行排列组合为例学习Python的itertools模块的用法...

    这里我们以对福彩3D号码进行排列组合为例学习Python的itertools模块的用法.首先我们选择心仪的号码.比如我们选择4,5,7,8 第一种我们只要组六的组合.代码如下 import itert ...

  6. python itertools_python itertools 用法

    1.介绍 itertools 是python的迭代器模块,itertools提供的工具相当高效且节省内存. 使用这些工具,你将能够创建自己定制的迭代器用于高效率的循环. - 无限迭代器 itertoo ...

  7. python的itertools详解

    Python中的itertools模块是一个用于迭代工具的标准库.它包含了很多用于迭代处理的函数和生成器,可以让开发者更加方便地处理迭代任务. 以下是itertools模块的一些常用函数: itert ...

  8. python迭代器生成器 学会再缩短一半开发效率 看看大牛是怎么写的

    一.迭代 什么叫做迭代? 比如在 Java 中,我们通过 List 集合的下标来遍历 List 集合中的元素,在 Python 中,给定一个 list 或 tuple,我们可以通过 for 循环来遍历 ...

  9. 简单介绍python迭代器和生成器

    这篇文章主要介绍了Python中的迭代器和生成器,涉及到Python中很多重要的特性,需要的朋友可以参考下,希望能够给你带来帮助 python迭代器和生成器 1.迭代器 这里用字典示例 while T ...

最新文章

  1. MVP Summit 2008 照片纪实(二)- 旧金山,Google总部和Stanford大学
  2. java 本地 交互图_Java与UML交互图
  3. ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
  4. Android典型界面设计(8) ——ViewPager+PagerSlidingTabStrip实现双导航
  5. ABAP 直接上传图片的函数
  6. jsp stc_为什么说jsp的本质是servlet?
  7. videojs如何获取请求消息_中通消息平台 Kafka 顺序消费线程模型的实践与优化
  8. java jdk 序列化_JDK 11:Java序列化的终结开始了吗?
  9. 高效的数据压缩编码方式 Protobuf
  10. python地理_【Python教程】地理可视化
  11. hdu 5139 数据的离线处理
  12. spring+redis自主实现分布式session(非spring-session方式)
  13. js判断数组中重复元素并找出_javascript查找数组中重复元素的方法
  14. CPU实时人脸检测,各种朝向、侧脸都检出来
  15. 初学Python选什么版本?
  16. 11年的macbook还能用吗_致我2011年买的macbook pro 15寸一封信
  17. mysql英文版怎么调中文_MySQL英文版的使用
  18. mysql和JDBC学习
  19. 方阵的特征值和特征向量的求解案例(二阶方阵)
  20. virtual box和centos问题杂记(一)

热门文章

  1. 很多朋友都在想,做软件测试有没有捷径可以走,有没有什么绝招?
  2. prim算法适用条件_Prim算法和Kruskal算法介绍
  3. 如何禁止WordPress站点前端显示管理工具栏?附3种方法
  4. 求解解救amaze问题求解饥饿的小易问题
  5. 爱菠萝V1-3600M更爱JASMINER-茉莉XAQ,成年人不做选择
  6. 软件测试实验三 测试需求挖掘与管理
  7. 解决前后端分离中文件传输跨域失败问题
  8. vue中页面数据改变组件不重新渲染
  9. 阴阳师人数最多的服务器,阴阳师玩家数量最少的四个大区 萌新不愿意去
  10. React Native小计