python itertools模块chain函数功能详解 itertools.chain(*iterable)
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)相关推荐
- np.randon模块,numpy.random模块各函数功能详解,分类描述各个函数功能,生成随机数
因为网上很多文章都是在依次列举各个函数的功能,并没有做分类,所以记忆上还有使用上都不方便. 本文旨在将功能相似的函数放在一起,以及对它们进行辨析和区分,便于精准地调用.未完待续 最权威的参考来源:Ra ...
- C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)
内容预览 3.5.搬迁类型 --- 函数功能详细说明 :将内存空间中内容移动.复制到另一内存空间 3.6.搬迁类型 --- 函数功能测试与手动实现 3.6.1.memcpy.memccpy 3.6.2 ...
- Python matplotlib.pyplot.hist函数 参数详解(超详细的!)
matplotlib.pyplot.hist函数 参数详解 函数内容 matplotlib.pyplot.hist(x, bins=None, range=None, normed=False, we ...
- python filter()和reduce()函数用法详解
一.filter() 在Python内建函数中,有一个和map()函数用法类似.却可以用来过滤元素的迭代函数,这个函数就是filter().它的函数原型是:filter(function,iteara ...
- 【功能超全】基于OpenCV车牌识别停车场管理系统软件开发【含python源码+PyqtUI界面+功能详解】-车牌识别python 深度学习实战项目
车牌识别基础功能演示 摘要:车牌识别系统(Vehicle License Plate Recognition,VLPR) 是指能够检测到受监控路面的车辆并自动提取车辆牌照信息(含汉字字符.英文字母.阿 ...
- python中的iloc函数_详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也 ...
- Qt QString类及常用函数功能详解
QString 是 Qt 编程中常用的类,除了用作数字量的输入输出之外,QString 还有很多其他功能,熟悉这些常见的功能,有助于灵活地实现字符串处理功能. QString 存储字符串釆用的是 Un ...
- dup2函数功能详解
如题,如果对dup2函数功能模糊的朋友可以看一看 linux下测试. #include <stdio.h> #include <stdlib.h> /*exit函数*/ #in ...
- 第9.2节 Python的文件打开函数open详解
一. 引言 在操作一个文件前,大部分情况需要先打开文件,才能进行,在Python中使用内置函数open来打开一个文件.open函数是Python的一个内置函数,io模块 定义的函数open是该内置函数 ...
最新文章
- 我的本地化关于NSDefaults
- python定义方法self会被当作变量_为什么Python必须在方法定义和调用中显式使用“self”?...
- 深入理解ROS技术 【3】ROS下的模块详解(129-180)
- vue-router常见问题解决方案。(滚轴回到顶部、页面跳转同一页面报错、手机电脑端路由跳转)
- axure中的拐弯箭头_Axure 8.0制作水平方向上一直来回移动的箭头
- python安装notebook_安装python的jupyter notebook工具
- select()函数用法
- response细节点
- ArrayList的容量
- CSS3 背景裁剪区域 background-clip属性
- 基于FPGA实现的高速串行交换模块实现方法研究
- mysql的分页存储过程,能够传出总记录数
- 个人实践:总结方法论,提高做事效率
- 详细安装 kali 教程 和 基本命令使用
- python nan变成0_python nan怎么解决
- android 布局滑动消失,SlideUp-Android
- 【saltstack】配置salt-master端REDIS_RETURN
- macbook linux 双系统,MacBook Air (13-inch, 2017)(8+128G)安装Ubuntu18.04双系统
- unity调试手机游戏(Android)【模拟器+真机】+设置运行时游戏横屏
- “TrueType 造字程序”的具体用法
热门文章
- 设置元素高度跟浏览器高度一致
- DB-概念-数据库:数据库/Database
- matlab 文本相似度,图像相似性搜索的MATLAB实现
- Kaggle上传数据时出现错误,且不是网络问题
- 正弦信号加多普勒matlab,基于Matlab测速仪设计(多普勒效应回波信号处理).doc
- 信息与计算机教案,信息与信息技术教案
- 打开键盘遮住View的问题解决方法-IOS开发
- Power长按、组合键分析
- fx80安装linux,华硕飞行堡垒FX80笔记本如何用U盘装win7?
- PHP设计BBS,基于mysql的bbs设计二_PHP教程