python-zip方法
zip 返回一个将多个可迭代对象组合成一个元组序列的迭代器。
1. 循环多个list的数据:
letters = ['a', 'b', 'c']
nums = [1, 2, 3] for letter, num in zip(letters, nums):
print("{}: {}".format(letter, num))
2. 将多个list的数据组合成tuple的list:
list(zip(['a', 'b', 'c'], [1, 2, 3])) # 得到: [('a', 1), ('b', 2), ('c', 3)].
3. 将tuple组成的list拆分成多个tuple:
some_list = [('a', 1), ('b', 2), ('c', 3)]
letters, nums = zip(*some_list) #结果
# letters: ('a', 'b', 'c')
# nums: (1, 2, 3)
*注意,即使不是list,而是tuple,依然可以拆分,拆分后的结果都是tuple:
some_list = (('a', 1), ('b', 2), ('c', 3))
letters, nums = zip(*some_list) #结果同上
*注意,即使不是tuple,是list,依然可以拆分,拆分后的结果都是tuple:
some_list = [['a', 1], ['b', 2], ['c', 3]]
letters, nums = zip(*some_list)
举个栗子:
# 将 data 从 4x3 矩阵转置成 3x4 矩阵。 data = ((0, 1, 2), (3, 4, 5), (6, 7, 8), (9, 10, 11)) data_transpose = zip(*data) # 结果:
[(0, 3, 6, 9), (1, 4, 7, 10), (2, 5, 8, 11)]
*值得注意的是:
zip 用于整合数据的时候,返回的是一个可迭代的迭代器,可以用来循环,也可以通过 list() , tuple() 方法把它变成list或tuple
zip 用于拆分数据的时候,可以拆分list,拆分tuple,但返回的总是一个list,并且list的每个元素都是tuple
python-zip方法的更多相关文章
- python zip()函数
描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符 ...
- Python join() 方法与os.path.join()的区别
Python join() 方法与os.path.join()的区别 pythonJoinos.path.join 今天工作中用到python的join方法,有点分不太清楚join() 方法与os.p ...
- 【转】Python zip() 函数
转自:http://www.runoob.com/python/python-func-zip.html 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回 ...
- Python swapcase()方法
首先,要明白Python swapcase() 方法用于对字符串的大小写字母进行转换. 其次,了解swapcase()方法语法:str.swapcase() 返回值:返回大小写字母转换后生成的新字符串 ...
- python字符串方法的简单使用
学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >& ...
- Python capitalize()方法
Python capitalize()方法 capitalize()方法返回字符串的一个副本,只有它的第一个字母大写.对于8位的字符串,这个方法与语言环境相关. 语法 以下是capitalize()方 ...
- Python 字符串方法详解
Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. ...
- Python isdigit()方法
描述 Python isdigit() 方法检测字符串是否只由数字组成. 语法 isdigit()方法语法: str.isdigit() 参数 无. 返回值 如果字符串只包含数字则返回 True 否则 ...
- Python str方法总结
1.返回第一个字母大写 S.capitalize(...) S.capitalize() -> string 1 2 3 4 >>>a = 'shaw' >>> ...
- Python list方法总结
1. 向列表的尾部添加一个新的元素 append(...) L.append(object) -- append object to end 1 2 3 4 >>> a = ['sa ...
随机推荐
- taskkill命令应用
taskkill命令用来在控制台下杀死进程 举例: 杀死PID为4276的进程 E:\android-sdk-windows\tools>taskkill /PID 4276 错误: 无法终止 ...
- PHPNow升级PHP版本为5.3.5的方法(转)
PHPNow升级PHP版本为5.3.5的方法 原文:http://sharebar.org/1142.html 在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好 ...
- Xcode 8 的 Debug 新特性 —- WWDC 2016 Session 410 & 412 学习笔记
Contents OverView Static Analyzer Localizability Instance Cleanup Nullablility Runtime Issue View De ...
- 忘记mysqlroot密码/我的电脑 管理服务里面没有mysql启动项/mysql启动不了net start mysql
http://www.cnblogs.com/andy_tigger/archive/2012/04/12/2443652.html 通过绕过不需密码 http://www.jb51.net/arti ...
- 兼容各大浏览器的event获取
event: //得到事件 function getEvent(evt){ if (evt && typeof(evt) != "undefined") { var ...
- 【struts2】拦截器基础
1)拦截器是什么? 拦截器(Interceptor)是Struts2最强大的特性之一,它是一种可以让你在Action执行之前和Result执行之后进行一些功能处理的机制.来回顾一下官方给出的Strut ...
- win7怎么快速截取图片
点击开始--运行或者winkey + r 键直接进入运行. 2 在输入框输入snippingtool,点击确定. 3 这就找到截图工具,如图. END 方法/步骤2 进入c盘--Windows-- ...
- golang学习笔记 --- goroutine
package main import ( "fmt" "io" "io/ioutil" "net/http" &quo ...
- Activity的onPause()、onStop()和onDestroy()里要做的事情
onPause(): 当系统调用你的activity中的onPause(),从技术上讲,那意味着你的activity仍然处于部分可见的状态,当时大多数时候,那意味着用户正在离开这个activity并马 ...
- C++编程技巧降低编译时间
1. #define的保护 全部头文件都应该使用#define 防止头文件被多重包括(multiple inclusion).命名格式 当是:<PROJECT>_<PATH>_ ...