(python函数03)zip()函数
(python函数03)zip()函数
zip是用来压缩的,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个元组(tuple),然后返回有这些tuples组成的对象,可强制转化为列表和字典。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。
示例代码01
list_str = ['a', 'b', 'c', 'd']
list_num = [1, 2, 3, 4]
list_new = zip(list_num, list_str)
print("zip结果(列表):", list(list_new))
运行结果01
zip结果(列表): [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
示例代码02
list_str = ['a', 'b', 'c', 'd']
list_num = [1, 2, 3, 4]
list_new = zip(list_num, list_str)
print("zip结果(字典):", dict(list_new))
运行结果02
zip结果(字典): {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
示例代码03
list_str = ['a', 'b', 'c', 'd']
list_num = [1, 2, 3, 4]
list_new = zip(list_num, list_str)
print("zip结果(列表):", list(list_new))
print("zip结果(字典):", dict(list_new))
运行结果03
zip结果(列表): [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
zip结果(字典): {}
这三个例子说明打包一次,只能强制转化一次列表或者字典
示例代码04
str = 'abcd'
str2 = '1234'
list_new = zip(str, str2)
print('zip结果(字典):', dict(list_new))
运行结果04
zip结果(字典): {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
示例代码05
list_str = ['a', 'b', 'c', 'd']
list_num = [1, 2, 3, 4]
x, y, z, p = zip(list_num, list_str)
print(x)
print(y)
print(z)
print(p)
运行结果
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
这个代码不知道怎么描述,记住吧哈。看别人代码的时候会遇到的!
字符串也是迭代类型喔!
有了压缩,肯定少不了解压缩,在python中,对zip函数的解压缩就是*zip函数,解压缩并非是返回原来的两个列表,而是返回一个列表,之前的内容被定义为元组类型
示例代码06
a = [1, 2, 3]
b = ['a', 'b', 'c']
c = ['x', 'y', 'z']
d = zip(a, b, c)
e = zip(*d)
print('zip(a, b, c)----->', d)
print('zip(a, b, c)----->类型', type(d))
print('zip(*zip(a, b, c))----->', e)
print('zip(*zip(a, b, c))----->类型', type(e)) x, y, z = e
print(z)
print(y)
print(x)
运行结果06
zip(a, b, c)-----> <zip object at 0x00000206E95E0788>
zip(a, b, c)----->类型 <class 'zip'>
zip(*zip(a, b, c))-----> <zip object at 0x00000206E95E0648>
zip(*zip(a, b, c))----->类型 <class 'zip'>
('x', 'y', 'z')
('a', 'b', 'c')
(1, 2, 3)
哇塞!好神奇啊!这是语言,仿佛没有为什么!
(python函数03)zip()函数的更多相关文章
- python中使用zip函数出现<zip object at 0x02A9E418>
在Python中使用zip函数,出现<zip object at 0x02A9E418>错误的原因是,你是用的是python2点多的版本,python3.0对python做了改动 zip方 ...
- 【Python】无须numpy,利用map函数与zip(*)函数对数组转置(转)
http://blog.csdn.net/yongh701/article/details/50283689 在Python的numpy中,对类似array=[[1,2,3],[4,5,6],[7,8 ...
- python中的 zip函数详解
python中zip()函数用法举例 定义:zip([iterable, ...]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple ...
- 【Python基础】zip函数的使用
zip函数的使用 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同, ...
- python中的zip()函数和map()函数
一.zip()函数 1.语法: zip(iterable, ...) 参数说明: iterable,...-- 一个或多个迭代器; 在python2中: zip() 函数用于将可迭代的对象作为参数,将 ...
- python学习-32 zip函数
zip 拉链方法 例如:1. ')))) 运行结果: [(')] Process finished with exit code 0 2. a = {'name':'abc','age':18,'ad ...
- python中的zip函数的使用
>>> x = [, , ] >>> y = [, , ] >>> z = [, , ] >>> xyz = list(zip( ...
- Python中的zip()与*zip()函数详解
前言 实验环境: Python 3.6: 示例代码地址:下载示例: 本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables)函数详解 ...
- python开发笔记之zip()函数用法详解
今天分享一篇关于python下的zip()函数用法. zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原 ...
随机推荐
- Nexus 安装配置教程
目录 为什么使用 Nexus Docker 模式安装 Nexus 使用 data volume 使用本地目录 Nexus 配置 配置 Blob Stores Nexus 使用 包下载 包上传 参考 为 ...
- HR面试:过五关斩六将后,小心阴沟翻船!(史上最全、避坑宝典)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- 你能说出多线程中sleep、yield、join的用法及sleep与wait区别?
Object中的wait.notify.notifyAll,可以用于线程间的通信,核心原理为借助于监视器的入口集与等待集逻辑 通过这三个方法完成线程在指定锁(监视器)上的等待与唤醒,这三个方法是以锁( ...
- 题解 P1850 [NOIP2016 提高组] 换教室
做完这道题才略微感觉自己懂了一点关于概率与期望的知识QAQ... 一:关于概率与期望的定义 转载节选于blog 1.什么是数学期望? 数学期望亦称期望.期望值等.在概率论和统计学中,一个离散型随机变量 ...
- 测试开发之网络篇-IP地址
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异.这里介绍一下目前广泛使用的IPv4版本. IP地址使用一种统一的格式,为互联 ...
- [源码解析] 深度学习分布式训练框架 horovod (8) --- on spark
[源码解析] 深度学习分布式训练框架 horovod (8) --- on spark 目录 [源码解析] 深度学习分布式训练框架 horovod (8) --- on spark 0x00 摘要 0 ...
- Docker(39)- docker 实战二之安装 Tomcat
背景 参考了狂神老师的 Docker 教程,非常棒! https://www.bilibili.com/video/BV1og4y1q7M4?p=15 直接运行容器 本地找不到镜像会自动下载 --rm ...
- MATLAB导入txt和excel文件技巧汇总:批量导入、单个导入
在使用MATLAB的时候,想必各位一定会遇到导入数据的问题.如果需要导入的数据其数据量巨大的话,那么在MATLAB编辑器中将这些数据复制粘贴进来,显然会在编辑器中占据巨大的篇幅,这是不明智的. 一般来 ...
- 单片机引脚扩展芯片74HC595手工分解实验
我们先来看下效果 74HC595是常用的串转并芯片,支持芯片级联实现少量IO口控制多个IO口输出功能 14脚:DS,串行数据输入引脚 13脚:OE, 输出使能控制脚,它是低电才使能输出,所以接GND ...
- Linux | Linux常用指令学习笔记
@ 目录 前言 1. Linux目录结构: 2. 运行级别: init.systemctl 3. vim相关快捷键: 4. 开关机相关命令: shutdowm.halt.reboot.sync.log ...