Python迭代器itertools
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相关推荐
- permutations python_为什么Python的itertools.permutations包含重复项? (当原始列表重复时)...
为什么Python的itertools.permutations包含重复项? (当原始列表重复时) 普遍认为,n个不同符号的列表有n! 排列. 但是,当符号不明确时,在math和其他地方最常见的惯例似 ...
- Python 迭代器和 C++ 迭代器,最大的不同竟然是......
作者 | 樱雨楼 责编 | 胡巍巍 前言 迭代器(Iterator)是 Python 以及其他各种编程语言中的一个非常常见且重要,但又充满着神秘感的概念.无论是 Python 的基础内置函数,还是各类 ...
- 全面理解Python迭代器和生成器
| 在Python中,很多对象都是可以通过for语句来直接遍历的,例如list.string.dict等等,这些对象都可以被称为可迭代对象.至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知 ...
- java 迭代器的hasnext,在Python迭代器中具有hasNext?
Python迭代器是否没有hasNext方法? 相关:我如何知道一开始发电机是否为空? 使用next(iterator, default_value)可以替代StopIteration. 例如: &g ...
- python 彩票排列组合_对福彩3D号码进行排列组合为例学习Python的itertools模块的用法...
这里我们以对福彩3D号码进行排列组合为例学习Python的itertools模块的用法.首先我们选择心仪的号码.比如我们选择4,5,7,8 第一种我们只要组六的组合.代码如下 import itert ...
- python itertools_python itertools 用法
1.介绍 itertools 是python的迭代器模块,itertools提供的工具相当高效且节省内存. 使用这些工具,你将能够创建自己定制的迭代器用于高效率的循环. - 无限迭代器 itertoo ...
- python的itertools详解
Python中的itertools模块是一个用于迭代工具的标准库.它包含了很多用于迭代处理的函数和生成器,可以让开发者更加方便地处理迭代任务. 以下是itertools模块的一些常用函数: itert ...
- python迭代器生成器 学会再缩短一半开发效率 看看大牛是怎么写的
一.迭代 什么叫做迭代? 比如在 Java 中,我们通过 List 集合的下标来遍历 List 集合中的元素,在 Python 中,给定一个 list 或 tuple,我们可以通过 for 循环来遍历 ...
- 简单介绍python迭代器和生成器
这篇文章主要介绍了Python中的迭代器和生成器,涉及到Python中很多重要的特性,需要的朋友可以参考下,希望能够给你带来帮助 python迭代器和生成器 1.迭代器 这里用字典示例 while T ...
最新文章
- MVP Summit 2008 照片纪实(二)- 旧金山,Google总部和Stanford大学
- java 本地 交互图_Java与UML交互图
- ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
- Android典型界面设计(8) ——ViewPager+PagerSlidingTabStrip实现双导航
- ABAP 直接上传图片的函数
- jsp stc_为什么说jsp的本质是servlet?
- videojs如何获取请求消息_中通消息平台 Kafka 顺序消费线程模型的实践与优化
- java jdk 序列化_JDK 11:Java序列化的终结开始了吗?
- 高效的数据压缩编码方式 Protobuf
- python地理_【Python教程】地理可视化
- hdu 5139 数据的离线处理
- spring+redis自主实现分布式session(非spring-session方式)
- js判断数组中重复元素并找出_javascript查找数组中重复元素的方法
- CPU实时人脸检测,各种朝向、侧脸都检出来
- 初学Python选什么版本?
- 11年的macbook还能用吗_致我2011年买的macbook pro 15寸一封信
- mysql英文版怎么调中文_MySQL英文版的使用
- mysql和JDBC学习
- 方阵的特征值和特征向量的求解案例(二阶方阵)
- virtual box和centos问题杂记(一)