详解Python3 对象组合zip()和回退方式*zip
zip即将多个可迭代对象组合为一个可迭代的对象,每次组合时都取出对应顺序的对象元素组合为元组,直到最少的对象中元素全部被组合,剩余的其他对象中未被组合的元素将被舍弃。
keys = ['one', 'two', 'three'] values = [1, 2, 3] d = zip(keys, values) print(list(d))
示例结果:
[('one', 1), ('two', 2), ('three', 3)]
可以看到我们由 zip 模拟了一个类似字典的一一对应的元组迭代对象,并将其转化为 list 类型查看,当然我们可以利用获取迭代对象生成真正的键值字典:
keys = ['one', 'two', 'three'] values = [1, 2, 3] d = zip(keys, values) D = {} for key, value in d: print(key, value) D[key] = value print(D)
示例结果:
one 1
two 2
three 3
{'one': 1, 'two': 2, 'three': 3}
我们可以利用for循环迭代赋值给字典完成对应的键值映射,在Python3中我们还可以用一句话就可以完成 D = dict(zip(keys,values)) .
*zip
当我们想回退为迭代器组合之前的状态时,我们可以利用 * “解压”现在“压缩”过的新的迭代对象
keys = ['one', 'two', 'three', 'four'] values = [1, 2, 3] d = zip(keys, values) older = zip(*d) print(list(older))
“解压”结果:
[('one', 'two', 'three'), (1, 2, 3)]
PS:Python3:zip()和*zip()函数
描述
- zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组
- *zip() 和zip()配合使用,具体看下面示例
Showing code by screenshot ~~
1. zip()
2. *zip()
总结
以上所述是小编给大家介绍的Python3 对象组合zip()和回退方式*zip,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关推荐
-
浅谈Python中的zip()与*zip()函数详解
前言 1.实验环境: Python 3.6: 2.示例代码地址:下载示例: 3.本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables)函数详解 zip()函数的定义 从参数中的多个迭代器取元素组合成一个新的迭代器: 返回: 返回一个zip对象,其内部元素为元组:可以转化为列表或元组: 传入参数:元组.列表.字典等迭代器. zip()函数的用法 当zip()函数中只有一个参数时 zip(iterable)从iterable中依次取
-
Python中zip()函数用法实例教程
本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表).若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同.利用*号操作符,可以将list unzip(解压). 二.用法示例: 读者看看下面的例子,
-
python3中zip()函数使用详解
zip在python3中,处于优化内存的考虑,只能访问一次!!!(python2中可以访问多次),童鞋们一定要注意, * coding: utf-8 * zip()函数的定义:从参数中的多个迭代器取元素组合成一个新的迭代器: 返回: 返回一个zip对象,其内部元素为元组:可以转化为列表或元组: 传入参数: 元组.列表.字典等迭代器. 当zip()函数中只有一个参数时,zip(iterable)从iterable中依次取一个元组,组成一个元组. 在python 3.0中有个大坑,zip中的数据只能
-
python中zip()方法应用实例分析
本文实例分析了python中zip()方法的应用.分享给大家供大家参考,具体如下: 假设有一个集合set, 需要对set中的每个元素指定一个唯一的id,从而组建成一个dict结构. 这个场景可以演化成,两个list/set或者一个set与一个list如何创建成为一个字典,如: A = ["a", "b", "c", "d"] B = [1, 2, 3, 4] ? ==> C = {"a":1, &qu
-
python中map()与zip()操作方法
对于map()它的原型是:map(function,sequence),就是对序列sequence中每个元素都执行函数function操作. 比如之前的a,b,c = map(int,raw_input().split()),意思就是说把输入的a,b,c转化为整数.再比如: a = ['1','2','3','4'] print map(list,a) print map(int,a) 第一个map是把列表a中每个元素转化为列表,第二个map是把a中每个元素转化为整数. 而对于zip(),原型是
-
详解Python3 对象组合zip()和回退方式*zip
zip即将多个可迭代对象组合为一个可迭代的对象,每次组合时都取出对应顺序的对象元素组合为元组,直到最少的对象中元素全部被组合,剩余的其他对象中未被组合的元素将被舍弃. keys = ['one', 'two', 'three'] values = [1, 2, 3] d = zip(keys, values) print(list(d)) 示例结果: [('one', 1), ('two', 2), ('three', 3)] 可以看到我们由 zip 模拟了一个类似字典的一一对应的元组迭代对象,
-
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
这算是酝酿很久的一篇文章了. JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕. 平时发的文章基本都是开发中遇到的问题和对最佳解决方案的探讨,终于忍不住要写一篇基础概念类的文章了. 本文探讨以下问题,在座的朋友各取所需,欢迎批评指正: 1.创建对象 2.__proto__与prototype 3.继承与原型链 4.对象的深度克隆 5.一些Object的方法与需要注意的点 6.ES6新增特性 下面反复提到实例对象和原型对象,通过构造函数 new
-
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
hasattr()函数 hasattr()函数用于判断是否包含对应的属性 语法: hasattr(object,name) 参数: object--对象 name--字符串,属性名 返回值: 如果对象有该属性返回True,否则返回False 示例: class People: country='China' def __init__(self,name): self.name=name def people_info(self): print('%s is xxx' %(self.name))
-
示例详解Python3 or Python2 两者之间的差异
每门编程语言在发布更新之后,主要版本之间都会发生很大的变化. 在本文中,Vinodh Kumar 通过示例解释了 Python 2 和 Python 3 之间的一些重大差异,以帮助说明语言的变化. 本教程主要介绍内容: 表达式 Print 选项 Unequal 操作 Range 自动迁移 性能问题 主要的内部事务更改 1.表达式 在 Python 2 中为获得计算表达式,你会键入: 但在 Python 3 中,你会键入: 因此,无论我们输入什么,值都会分配给 2 和 3 中的变量 x.当在 Py
-
详解python对象之间的交互
先看看一般的类定义如下: class 类名: def __init__(self,参数1,参数2): self.对象的属性1 = 参数1 self.对象的属性2 = 参数2 def 方法名(self):pass def 方法名2(self):pass 对象名 = 类名(1,2) #对象就是实例,代表一个具体的东西 #类名() : 类名+括号就是实例化一个类,相当于调用了__init__方法 #括号里传参数,参数不需要传self,其他与init中的形参一一对应 #结果返回一个对象 对象名.对象的属
-
详解 javascript对象创建模式
创建模式 在javascript中,主要有以下几种创建模式: 工厂模式 构造函数模式 原型模式 组合模式 动态原型模式 寄生构造函数模式 稳妥构造模式 工厂模式 工厂模式是软件工程领域一种广为人知的设计模式.javascript实现方式: function createPerson(name, obj, job) { var o = new Object(); o.name = name; o.obj = obj; o.job = job; o.sayName = function() { al
-
详解React Native监听Android回退按键与程序化退出应用
详解React Native监听Android回退按键与程序化退出应用 前言 我们知道Android回退按键,会控制页面返回, 并且退出应用并非真正意义退出,仍在后台运行,所以在某些场景下需要监控android回退按键,那么在React Native中应该如何应用呢?我们具体来看看. BackAndroid 此模块用于监听硬件的back键操作. 看下具体代码: BackAndroid.addEventListener('hardwareBackPress', function() { if (!
-
详解Java对象的强、软、弱和虚引用+ReferenceQueue
详解Java对象的强.软.弱和虚引用+ReferenceQueue 一.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题. 二.软引用(SoftReference) 如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它:如果内存空间不足了,就会回收这些对象的内存.只要垃圾回
-
详解Python3 pandas.merge用法
摘要 数据分析与建模的时候大部分时间在数据准备上,包括对数据的加载.清理.转换以及重塑.pandas提供了一组高级的.灵活的.高效的核心函数,能够轻松的将数据规整化.这节主要对pandas合并数据集的merge函数进行详解.(用过SQL或其他关系型数据库的可能会对这个方法比较熟悉.)码字不易,喜欢请点赞!!! 1.merge函数的参数一览表 2.创建两个DataFrame 3.pd.merge()方法设置连接字段. 默认参数how是inner内连接,并且会按照相同的字段key进行合并,即等价于o
-
对sklearn的使用之数据集的拆分与训练详解(python3.6)
研修课上讲了两个例子,融合一下. 主要演示大致的过程: 导入->拆分->训练->模型报告 以及几个重要问题: ①标签二值化 ②网格搜索法调参 ③k折交叉验证 ④增加噪声特征(之前涉及) from sklearn import datasets #从cross_validation导入会出现warning,说已弃用 from sklearn.model_selection import train-test_split from sklearn.grid_search import Gri
随机推荐
- MongoDB 3.4配置文件避免入坑的注意事项
- 禁用Cookie三种方法(保护你的隐私)
- 使用vbs下载文件的代码加强版
- Java RSA加密解密实现方法分析【附BASE64 jar包下载】
- Python生成随机MAC地址
- python调用java模块SmartXLS和jpype修改excel文件的方法
- PHP自定义函数获取汉字首字母的方法
- 完美解决thinkphp验证码出错无法显示的方法
- Codeigniter购物车类不能添加中文的解决方法
- 使用bootstrap实现多窗口和拖动效果
- Ajax缓存问题的解决方法汇总
- Java日期时间使用方法汇总
- 强制SQL Server执行计划使用并行提升在复杂查询语句下的性能
- js基于cookie方式记住返回页面用法示例
- 不提示直接关闭网页窗口的JS示例代码
- Java输入字母来判断星期几的实现代码
- Android应用内调用第三方应用的方法
- VC中BASE64编码和解码使用详解
- 一个多文件上传的例子(原创)
- PHP CodeIgniter分页实例及多条件查询解决方案(推荐)