源码:

    class zip(object)|  zip(*iterables) --> A zip object yielding tuples until an input is exhausted.||     >>> list(zip('abcdefg', range(3), range(4)))|     [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)]||  The zip object yields n-length tuples, where n is the number of iterables|  passed as positional arguments to zip().  The i-th element in every tuple|  comes from the i-th iterable argument to zip().  This continues until the|  shortest argument is exhausted.

说明:

"""
类 zip(对象) | zip(iterables) --> 一个 zip 对象产生元组,直到输入用尽。| | >>> list(zip('abcdefg', range(3), range(4)))|     [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)]| | zip 对象产生 n 长度的元组,其中 n 是可迭代的数量 |作为位置参数传递给 zip()。每个元组中的第 i 个元素 |来自 zip() 的第 i 个可迭代参数。这种情况一直持续到 |最短的论点已用尽。返回元组的迭代器,其中第i个元组包含来自每个参数序列或可迭代对象的第i个元素。
当最短的输入迭代用完时,迭代器停止。使用单个可迭代参数,它返回一个 1 元组的迭代器。
没有参数,它返回一个空的迭代器并行迭代几个可迭代对象,生成元组,每个对象都有一个项目。
Python 的zip()函数定义为zip(*iterables).
该函数将可迭代对象作为参数并返回一个迭代器。
此迭代器生成一系列元组,其中包含来自每个可迭代对象的元素。
zip()可以接受任何类型的可迭代对象,例如文件、列表、元组、字典、集合等。
"""

举例

'相当于合并每个可迭代类型的对应索引值'
'不同的数据类型均可以''当最短的输入迭代用完时,迭代器停止,例如下文中的字典到4,到3的区别'
res = list(zip('1234', (111, 222, 333, 444), range(4), {"1": 1, "2": 2, "3": 3, "4": 4}))
res1 = list(zip('1234', (111, 222, 333, 444), range(4), {"1": 1, "2": 2, "3": 3}))
# res = help(zip)
print(res)  # [('1', 111, 0, '1'), ('2', 222, 1, '2'), ('3', 333, 2, '3'), ('4', 444, 3, '4')]
print(res1)  # [('1', 111, 0, '1'), ('2', 222, 1, '2'), ('3', 333, 2, '3')] 这里就少了一个值.'使用zip函数将返回一个生成长度元组的迭代器n'
'解迭代器,使用list,tuple均可,使用[],()不行'
'迭代器可以使用for 循环获取数据'
res = zip('1234', (111, 222, 333, 444), range(4), {"1": 1, "2": 2, "3": 3, "4": 4})
print(res)  # <zip object at 0x000002B3B3BD9380>
res = tuple(res)
print(res)

保留所有值

'会用None填充'
from itertools import zip_longestres = list(zip_longest('1234', (111, 222, 333, 444), range(5)))
print(res)  # [('1', 111, 0), ('2', 222, 1), ('3', 333, 2), ('4', 444, 3), (None, None, 4)]

不传递参数

res = zip()
print(res)  # <zip object at 0x00000204966DD880>
print(list(res))  # []'尝试强制空迭代器直接产生一个元素,会得到一个StopIteration '
# next(res) # error StopIteration

一个参数

name = ["小A"]
res = list(zip(name))
print(res)  # [('小A',)]

强制长度一样

# py>=310
name = ["小A"]
behavior = ["小B", "吃饭"]
print(list(zip(name, behavior)))  # [('小A', '小B')]
print(list(zip_longest(name, behavior)))  # [('小A', '小B'), (None, '吃饭')]'strict=True'
'>=310'# print(list(zip(name,behavior), strict=True)) # zip() argument 2 is longer than argument 1
'<310'
#  print(list(zip(name,behavior), strict=True)) list() takes no keyword arguments

元祖列表

'元组列表,zip()与解包运算符*一起使用'
behavior = (["小B", "没吃饭"], ["小A", "没吃饭"])
print(list(zip(*behavior)))  # [('小B', '小A'), ('没吃饭', '没吃饭')]
name, beh = zip(*behavior)
print(name, beh)  # ('小B', '小A') ('没吃饭', '没吃饭')

排序

'通过第一个列表值排序,zip()的第一个列表'
letters = ['b', 'a', 'd', 'c']
numbers = [2, 4, 3, 1]
data = sorted(zip(letters, numbers))  # Sort by letters
print(data)  # [('a', 4), ('b', 2), ('c', 1), ('d', 3)]

P进阶_(zip函数)相关推荐

  1. python zip函数_相当于Python的zip函数

    下面是一个更时髦的ECMAScript 6版本:zip= rows=>rows[0].map((_,c)=>rows.map(row=>row[c])) 插图等价物到Python{z ...

  2. python enumerate函数_关于python中enumerate和zip函数的用法及举例

    关于python中enumerate和zip函数的用法及举例 关于enumerate函数: enumerate函数可以同时返回列表或元组等可迭代对象的下标和内容,但实际上,enumerate函数实际返 ...

  3. python中zip的使用_浅谈Python中的zip()与*zip()函数详解

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

  4. python3中zip函数_用python实现矩阵转置,python3 中zip()函数

    前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...

  5. python中zip什么意思_浅谈Python中的zip()与*zip()函数详解 python的zip函数加上一个*号,是什么含义...

    python 当中的zip( )函数到底是干嘛的?你越来越善解人意,就没人在意你的委屈和脾气. zip([1,2,3],['a','b','c']) 结果是 [(1, 'a'), (2, 'b'), ...

  6. pycharm zip函数_寒假整理3:Python的 zip函数 map函数 eval函数 的含义及应用实例

    以下是我前年自学时找到的几个简单易懂的博客,但是没有记录来源,权作为整理者稍作删改排版,记录在下. 注:代码是Python2版本,不妨碍理解,基本上就是print少了括号. Python的zip函数 ...

  7. Python 进阶_生成器 生成器表达式

    目录 目录 相关知识点 生成器 生成器 fab 的执行过程 生成器和迭代器的区别 生成器的优势 加强的生成器特性 生成器表达式 生成器表达式样例 小结 相关知识点 Python 进阶_迭代器 & ...

  8. Python zip函数 - Python零基础入门教程

    目录 一.Python zip 函数简介 二.Python zip 函数使用 三.Python *zip 函数的描述和使用 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 ...

  9. Mothur1进阶_走近Mothur,探索未知

    Mothur是一款由密歇根大学微生物与免疫学系的Patrick Schloss教授及其研究团队共同研发的微生物群落生态学分析工具,具有开源.可拓展的特点,能够满足微生物群落生态学的生物信息学分析要求. ...

  10. 2. Python中的zip函数

    <Python编程的术与道:Python语言进阶>视频课程 <Python编程的术与道:Python语言进阶>视频课程链接:https://edu.csdn.net/cours ...

最新文章

  1. 基区宽度调制效应(厄尔利(Early)效应)
  2. MapReduce: Simplified Data Processing on Large ...
  3. cookie、 sessionStorage 、localStorage之间的区别和使用
  4. golang 反射 reflect包 struct相互填充
  5. 虚拟串口工具_com0com
  6. Mac OS包管理器Homebrew
  7. 安装VMware并新建虚拟机
  8. 【译】ICO 2.0 — The Advent of What Crypto-Fund Raising Should Really Look Like
  9. 使用openswan构建lan-to-lan ×××(KLIPS)
  10. linux用户名是什么_什么是Linux用户?
  11. 华为杯数学建模2020什么时候出结果_关于东北三省数学建模联赛及“华为杯”研究生数学建模竞赛的通知...
  12. python vs java 搞笑视频_Python和Java该学哪个?别纠结了700集视频合集,限时分享...
  13. sql azure 语法_如何使用Azure门户,Cloud Shell和T-SQL复制Azure SQL数据库
  14. 矩阵论作业13,14,15讲
  15. 计算机上那里可以看产品密钥,使用Windows Key Viewer一键轻松查看当前计算机的产品密钥...
  16. 学校计算机的使用英语作文180字,关于我的寒假英语作文180字3篇
  17. 无序数组中获取第k个最大数
  18. SAP 采购订单行项目屏幕增强(BADI)
  19. python日志模块 超量处理_Python logging日志处理模块
  20. Back Track5使用整理(一)

热门文章

  1. es 安装拼音分词器 以及使用
  2. 百词斩不认识单词例句导出
  3. 1299最长上升子序列
  4. PS的液化功能使用(瘦身,拉长专用)
  5. echarts饼图显示百分比
  6. 华为云IoT提出万物互联新范式,从万物感知到万物生长
  7. Xp计算机同步时间,xp电脑时间无法同步如何解决
  8. 应用Dubbo框架打造仿猫眼项目 理解微服务核心思想
  9. python如何安装pdfminer_Python 3.6 中使用pdfminer解析pdf文件的实现
  10. JavaScript 详解(表单验证,JSON,JS事件,JS函数)