Itertools模块, itertools提供了高效快捷的用于操作迭代对象的函数。通过使用这个模块,可以简化代码。

Itertools.chain语法

Itertools.chain(*iterables)

*代表接受可变的参数

iterables,迭代对象(序列),可以使用for in 遍历的对象,包括list, string, dict。

1.Itertools.chain功能1:去除iterable里的内嵌iterable,如去除列表中的内嵌列表;

例子1.1 去除列表a中的内嵌元组;

import itertools as it
a=[(1, 'a'), (2, 'b'), (3, 'c')]
a_update=it.chain(*a)
print(type(a_update)) #itertools返回的对象是个类
print(list(a_update)) #转化成列表输出

程序运行结果为:

<class 'itertools.chain'>
[1, 'a', 2, 'b', 3, 'c']

例子1.2 去除列表b中的内嵌列表;

import itertools as it
b=[[1,2],[5,6],[8,9]]
b_update=it.chain(*b)
print(type(b_update)) #itertools返回的对象是个类
print(list(b_update)) #转化成列表输出

程序运行结果为:

<class 'itertools.chain'>
[1, 2, 5, 6, 8, 9]

例子1.3 去除列表b中的内嵌字典;

import itertools as it
c=[{1,2},{3,4},{5,6}]
c_update=it.chain(*c)
print(type(c_update)) #itertools返回的对象是个类
print(list(c_update)) #转化成列表输出

程序运行结果为:

<class 'itertools.chain'>
[1, 2, 3, 4, 5, 6]

     2.Itertools.chain功能2:两个序列的组合

     例子2.1(类似python自带的+)

import itertools as it
a=[1,2,3]
b=[4,5,6]
print(a+b)
print(list(it.chain(*(a,b))))

程序运行结果为:

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]

      例子2.2结合zip函数进行配对问题;假如有列表a代表编号为1-5的5名女生,有列表b代表编号为a-e的5名男生,现在让5名男生依次插入5名女生中间,两队合成一队,如何用代码表示?

import itertools as it
a=[1,2,3,4,5] #女生
b=['a','b','c','d','e'] #男生
ab=zip(a,b)
final=it.chain(*ab)
print(list(final))

程序运行结果为:

[1, 'a', 2, 'b', 3, 'c', 4, 'd', 5, 'e']

例子2.3 合并字符串,并转换成列表(不同于python自带的+)

import itertools as itm="abc"
n="def"
print(m+n)
print(list(it.chain(*(m,n))))

程序运行结果为:

abcdef
['a', 'b', 'c', 'd', 'e', 'f']

python itertools模块chain函数功能详解 itertools.chain(*iterable)相关推荐

  1. np.randon模块,numpy.random模块各函数功能详解,分类描述各个函数功能,生成随机数

    因为网上很多文章都是在依次列举各个函数的功能,并没有做分类,所以记忆上还有使用上都不方便. 本文旨在将功能相似的函数放在一起,以及对它们进行辨析和区分,便于精准地调用.未完待续 最权威的参考来源:Ra ...

  2. C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)

    内容预览 3.5.搬迁类型 --- 函数功能详细说明 :将内存空间中内容移动.复制到另一内存空间 3.6.搬迁类型 --- 函数功能测试与手动实现 3.6.1.memcpy.memccpy 3.6.2 ...

  3. Python matplotlib.pyplot.hist函数 参数详解(超详细的!)

    matplotlib.pyplot.hist函数 参数详解 函数内容 matplotlib.pyplot.hist(x, bins=None, range=None, normed=False, we ...

  4. python filter()和reduce()函数用法详解

    一.filter() 在Python内建函数中,有一个和map()函数用法类似.却可以用来过滤元素的迭代函数,这个函数就是filter().它的函数原型是:filter(function,iteara ...

  5. 【功能超全】基于OpenCV车牌识别停车场管理系统软件开发【含python源码+PyqtUI界面+功能详解】-车牌识别python 深度学习实战项目

    车牌识别基础功能演示 摘要:车牌识别系统(Vehicle License Plate Recognition,VLPR) 是指能够检测到受监控路面的车辆并自动提取车辆牌照信息(含汉字字符.英文字母.阿 ...

  6. python中的iloc函数_详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据

    pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也 ...

  7. Qt QString类及常用函数功能详解

    QString 是 Qt 编程中常用的类,除了用作数字量的输入输出之外,QString 还有很多其他功能,熟悉这些常见的功能,有助于灵活地实现字符串处理功能. QString 存储字符串釆用的是 Un ...

  8. dup2函数功能详解

    如题,如果对dup2函数功能模糊的朋友可以看一看 linux下测试. #include <stdio.h> #include <stdlib.h> /*exit函数*/ #in ...

  9. 第9.2节 Python的文件打开函数open详解

    一. 引言 在操作一个文件前,大部分情况需要先打开文件,才能进行,在Python中使用内置函数open来打开一个文件.open函数是Python的一个内置函数,io模块 定义的函数open是该内置函数 ...

最新文章

  1. 我的本地化关于NSDefaults
  2. python定义方法self会被当作变量_为什么Python必须在方法定义和调用中显式使用“self”?...
  3. 深入理解ROS技术 【3】ROS下的模块详解(129-180)
  4. vue-router常见问题解决方案。(滚轴回到顶部、页面跳转同一页面报错、手机电脑端路由跳转)
  5. axure中的拐弯箭头_Axure 8.0制作水平方向上一直来回移动的箭头
  6. python安装notebook_安装python的jupyter notebook工具
  7. select()函数用法
  8. response细节点
  9. ArrayList的容量
  10. CSS3 背景裁剪区域 background-clip属性
  11. 基于FPGA实现的高速串行交换模块实现方法研究
  12. mysql的分页存储过程,能够传出总记录数
  13. 个人实践:总结方法论,提高做事效率
  14. 详细安装 kali 教程 和 基本命令使用
  15. python nan变成0_python nan怎么解决
  16. android 布局滑动消失,SlideUp-Android
  17. 【saltstack】配置salt-master端REDIS_RETURN
  18. macbook linux 双系统,MacBook Air (13-inch, 2017)(8+128G)安装Ubuntu18.04双系统
  19. unity调试手机游戏(Android)【模拟器+真机】+设置运行时游戏横屏
  20. “TrueType 造字程序”的具体用法

热门文章

  1. 设置元素高度跟浏览器高度一致
  2. DB-概念-数据库:数据库/Database
  3. matlab 文本相似度,图像相似性搜索的MATLAB实现
  4. Kaggle上传数据时出现错误,且不是网络问题
  5. 正弦信号加多普勒matlab,基于Matlab测速仪设计(多普勒效应回波信号处理).doc
  6. 信息与计算机教案,信息与信息技术教案
  7. 打开键盘遮住View的问题解决方法-IOS开发
  8. Power长按、组合键分析
  9. fx80安装linux,华硕飞行堡垒FX80笔记本如何用U盘装win7?
  10. PHP设计BBS,基于mysql的bbs设计二_PHP教程