码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [Python] zip()函数


    zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象

    提示Tips:本文讲解的是python3的zip()函数,该函数返回的结果是zip对象,如需展示列表,需手动 list()转换;展示字典,需手动dict()转换

    语法

    zip([iterable, ...])

    参数 

    一个或多个迭代器(其中iterable,... 表示多个列表、元组、字典、集合、字符串,甚至还可以为 range()区间)

    返回值

    返回一个对象 

    实例

    1. nums1 = [1,2,3]
    2. nums2 = [4,5,6]
    3. zipped = zip(nums1,nums2)
    4. # 返回一个对象
    5. type(zipped) # zip object
    6. print(zipped) #
    7. # list()转换为列表
    8. list(zipped) # [(1, 4), (2, 5), (3, 6)]
    1. names = ['Andy','Rita','Lee','Odin']
    2. ages = [18,19,20,21]
    3. '''
    4. 并行迭代
    5. Andy is 18 years old
    6. Rita is 19 years old
    7. Lee is 20 years old
    8. Odin is 21 years old
    9. '''
    10. for name, age in zip(names,ages):
    11. print(name,'is',age,'years old')

    如果可迭代对象的长度不相同将按短的序列为准 

    1. nums1 = [1,2,3]
    2. nums3 = [4,5,6,7,8]
    3. # 元素个数与最短的列表一致
    4. list(zip(nums1,nums3)) # [(1, 4), (2, 5), (3, 6)]
    1. # [(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]
    2. list(zip(range(5),range(100000000)))

    只要是可迭代的对象皆可相互使用,例如zip(dict,list)

    注意:zip(dict)得到的只有key没有value 

    1. tuple1 = (1,2,3,4)
    2. dict1 = {"a": 1, "b": 2, "c": 3}
    3. dict2 = {4: "d", 5: "e", 6: "f"}
    4. # [('a',), ('b',), ('c',)]
    5. print([i for i in zip(dict1)])
    6. # [(1, 'a'), (2, 'b'), (3, 'c')]
    7. print([i for i in zip(tuple1, dict1)])
    8. # [(1, 4), (2, 5), (3, 6)]
    9. print([i for i in zip(tuple1, dict2)])

    扩展补充:两个列表转换成字典 

    1. keys = ['a','b','c']
    2. values = [1,2,3]
    3. # {'a': 1, 'b': 2, 'c': 3}
    4. dict_nums = dict(zip(keys,values))
  • 相关阅读:
    webgl着色器学习-fragmentShader使用three.js传入变量 (uniform使用)
    GESP一级 - 第一章 - 第3节 - 计算机软件系统 - 习题
    阿里P8现身说法,解密“架构”原理与实战笔记:从分布式到微服务
    Excel 转为 PDF,PNG,HTML等文件
    JavaScriptJQuery_jQuery链式编程
    html静态网站基于动漫主题网站网页设计与实现共计10个页面——二次元漫画
    如何通过卖虚拟资料月入10万?看这几个卖资料案例
    2022年程序员“生存报告”出炉,仅23%月薪不足1万,你在什么段位?
    Resolving Protobuf Configuration Issue Without Sudo Access
    力扣108 补9.17
  • 原文地址:https://blog.csdn.net/Hudas/article/details/126709402
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号