(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()函数的更多相关文章

  1. python中使用zip函数出现<zip object at 0x02A9E418>

    在Python中使用zip函数,出现<zip object at 0x02A9E418>错误的原因是,你是用的是python2点多的版本,python3.0对python做了改动 zip方 ...

  2. 【Python】无须numpy,利用map函数与zip(*)函数对数组转置(转)

    http://blog.csdn.net/yongh701/article/details/50283689 在Python的numpy中,对类似array=[[1,2,3],[4,5,6],[7,8 ...

  3. python中的 zip函数详解

    python中zip()函数用法举例 定义:zip([iterable, ...]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple ...

  4. 【Python基础】zip函数的使用

    zip函数的使用 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同, ...

  5. python中的zip()函数和map()函数

    一.zip()函数 1.语法: zip(iterable, ...) 参数说明: iterable,...-- 一个或多个迭代器; 在python2中: zip() 函数用于将可迭代的对象作为参数,将 ...

  6. python学习-32 zip函数

    zip 拉链方法 例如:1. ')))) 运行结果: [(')] Process finished with exit code 0 2. a = {'name':'abc','age':18,'ad ...

  7. python中的zip函数的使用

    >>> x = [, , ] >>> y = [, , ] >>> z = [, , ] >>> xyz = list(zip( ...

  8. Python中的zip()与*zip()函数详解

    前言 实验环境: Python 3.6: 示例代码地址:下载示例: 本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables)函数详解 ...

  9. python开发笔记之zip()函数用法详解

    今天分享一篇关于python下的zip()函数用法. zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原 ...

随机推荐

  1. [翻译]Go与C#的比较,第二篇:垃圾回收

    Go vs C#, part 2: Garbage Collection | by Alex Yakunin | ServiceTitan - Titan Tech | Medium 目录 译者注 什 ...

  2. 五、JavaSE语言基础之流程控制

    流程控制的简单概念 流程控制:指通过关键字控制代码的执行流程; 一.顺序结构:执行顺序从左到右从上到下; 顺序结构无关键字,一般而言大多数代码都是顺序结构; 二.选择结构:根据条件判断是否执行 选择结 ...

  3. 12、windows定时备份数据库

    12.1.删除指定目录中的内容: del /Q E:\DATABAK\* copy 1.txt bak\a.txt 12.2.可用的备份计划: 1.脚本: BakScripts @echo off R ...

  4. 浅谈最长上升子序列(O(n*logn)算法)

    今天GM讲了最长上升子序列的logn*n算法,但没讲思路... 我看了篇博客,发现-- 说的有道理!!! 首先,举例子: a[7]={1,2,4,3,6,7,5}(假设以1开头) 很明显,LIS=5: ...

  5. Centos7搭建k8s集群

    一.部署环境 操作系统:CentOS Linux release 7.6.1810 (Core) 安装软件: docker:18.06.3-ce kubernetes:v1.15.4 二.部署架构: ...

  6. [源码解析] 深度学习分布式训练框架 horovod (12) --- 弹性训练总体架构

    [源码解析] 深度学习分布式训练框架 horovod (12) --- 弹性训练总体架构 目录 [源码解析] 深度学习分布式训练框架 horovod (12) --- 弹性训练总体架构 0x00 摘要 ...

  7. PostgreSQL角色问题

    角色 PostgreSQL使用角色的概念管理数据库访问权限. 根据角色自身的设置不同,一个角色可以看做是一个数据库用户,或者一组数据库用户. 角色可以拥有数据库对象(比如表)以及可以把这些对象上的权限 ...

  8. 使用VS远程调试其他电脑上安装的软件

    今天在用户的一台机器上遇到了很奇怪的问题.一个按钮点击时概率性的第一次点击无反馈. 因为是概率性的,概率又很低,而当初在设计Log时又设计的是必须重启软件才会生效log开关: 所以这里使用当时rele ...

  9. [期望DP][纪中]【2010集训队出题】彩色圆环

    彩色圆环 感谢名单 十分感谢 JA_Ma 为我讲解了 \(T1\) 的 期望DP 的思想和推论. 十分感谢 SSL_LYF 为我解答了 \(T1\) 的 期望DP 的概率的大小问题. 十分感谢 SSL ...

  10. Kong的API管理方式

    目录 Kong 的管理方式 1. kong的关键术语 Service: Route: Upstream: Target: API: Consumer: Plugin: 2. 如何通过配置KONG AP ...