python 不同集合上元素的迭代 chain()
itertools.chain()可以接受一个可迭代对象列表作为输入,并返回一个迭代器,有效的屏蔽掉在多个容器中迭代细节
>>> from itertools import chain
>>> a = [1, 2, 3, 4]
>>> b = ['x', 'y', 'z']
>>> for x in chain(a, b):
... print(x)
...
1234xyz
>>>
itertools.chain()接受一个或多个可迭代对象作为输入参数。然后创建一个迭代器,依次连续的返回每个可迭代对象的元素。这种方式要比先将序列合并再迭代要高效的多
# Inefficent
for x in a + b:
...
# Better
for x in chain(a, b):
...
第一种方案中, a + b 操作会创建一个全新的序列并要求a 和b 的类型一致。chian() 不会有这一步,所以如果输入序列非常大的时候会很省内存。并且当可迭代对象类型不一样的时候chain() 同样可以很好的工作。
转载于:https://www.cnblogs.com/baxianhua/p/10082805.html
python 不同集合上元素的迭代 chain()相关推荐
- 《Python Cookbook 3rd》笔记(4.12):不同集合上元素的迭代
不同集合上元素的迭代 问题 你想在多个对象执行相同的操作,但是这些对象在不同的容器中,你希望代码在不失可读性的情况下避免写重复的循环. 解法 itertools.chain() 方法可以用来简化这个任 ...
- python中集合的元素可以是什么_python集合能做什么
python集合的用途:1.可以运用集合去重,方法为将列表加入到集合中,然后进行遍历,最后打印出去重后的结果即可:2.运用集合可以进行关系测试,例如,求差集.并集. 一.什么是集合: 集合(set)是 ...
- python中集合的元素可以是任意数据类型_详解Python集合数据类型
本篇介绍Python集合数据类型.集合不同于列表和元组类型,集合存储的元素是无序且不能重复的,同数学中的集合一样,集合可以执行集合的并.交.差运算.通过本篇的学习,可以达成如下目标. ● 掌握集合数据 ...
- python中集合的元素可以是任意数据类型_Python之基本数据类型——集合数据类型...
集合set(可变的数据类型): 数据结构以大括号{}表示,各元素逗号隔开,例:{1,2,3,4}. 集合特征:无序,元素不重复 创建集合: s={1,2,3} pirnt(s) #---------- ...
- python中集合的元素可以是_python中的集合
1.集合的特点 (1)集合由不同元素组成 (2)集合是无序的 (3)集合中的元素必须是不可变类型. 2.集合定义的方式 set("s;lg;;flgk;")//通过set方法来定义 ...
- python中集合的元素可以是任意数据类型_Python数据类型之列表
列表 列表是由一系列按特定循序排列的元素组成(即有序集合).使用中括号[]来表示,并用逗号来分隔其中的元素. 列表的元素可以是任意类型. list 列表(序列)中的每个元素都分配一个数字索引,从 0 ...
- (小甲鱼python)集合笔记合集一 集合(上)总结 集合的简单用法 集合的各种方法合集:子、交、并、补、差、对称差集、超集
一.基础复习 集合与字典区别 集合中所有元素都是独一无二的,并且也是无序的. 集合具有唯一性.无序性.有限性 >>> type({}) #字典 <class 'dict'> ...
- list选取多个元素 python_【幼儿园级】0基础学python一本通(上)——AI未来系列1...
在未来面前,每个人都是学生 江海升月明,天涯共此时,关注江时! 引 子 本篇为AI未来系列第一篇.为什么要研究学习python?python是未来屠龙的屠龙宝刀,再辅助以我们的高中数学基础(足够用的屠 ...
- python集合的元素可以是_Python - 集合与元素之集合定义和基本操作方法
原博文 2019-10-05 14:58 − 集合(set) 定义:由不同元素组成的集合,集合中是一组无序排列可hash的值(不可变的值)例如数字.字符串.元组,可以作为字典的key 定义集合: # ...
最新文章
- java phantomjs 2.1.1_Java之网络爬虫WebCollector2.1.2+selenium2.44+phantomjs2.1.1
- MATLAB计算杨氏模量,四阶弹性模量Cijkl如何在matlab里表示啊? - 计算模拟 - 小木虫 - 学术 科研 互动社区...
- Post请求,向服务器发送用户信息
- 同一目录下有大量文件会影响效率吗_到底是什么原因才导致 select * 效率低下的?
- LeetCode 444. 序列重建(拓扑排序)
- java中线程调度遵循的原则_深入理解Java多线程核心知识:跳槽面试必备
- linux驱动之设备号与创建设备节点
- 从零开始学安全(七)●Linux基础命令学习笔记
- phpstudy下载、安装、配置、网站部署、卸载
- eval(转换html,js eval函数使用,js对象和字符串互转实例
- 天涯上令人肝肠寸断的100个经典签名
- Java小游戏练习---超级玛丽代码实现
- 这才是高效判断素数的正确打开方式
- 北京交通大学万怀宇:时空交通数据预测方法及应用
- 文档矫正(计算机视觉实验)
- windows下安装启动rocketmq可视化界面
- 扫地机器人真的有用吗?到底值不值得买?
- 照片批量重命名为拍摄日期
- Kafka 的这些原理你知道吗
- 「学习笔记」移动Web开发之flex布局9