Python zip的使用

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python zip的使用相关的知识,希望对你有一定的参考价值。

Python zip的使用

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
我们可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
zip 方法在 Python 2 和 Python 3 中的不同:在 Python 2.x zip() 返回的是一个列表。
如果需要了解 Python2 的应用,可以参考 Python zip()。

常用的用法:

1.多个迭代器转换以元组形式的列表。
2.两个迭代器转换为一个字典dict
3.解压zip(*zip(…)) 返回多个元组

if __name__ == '__main__':
    a = [1, 2, 3]
    b = ['a', 'b', 'c']
    c = zip(a, b)
    print(type(c))  # <class 'zip'>
    print(c)  # 返回一个zip对象 <zip object at 0x000002757713EB00>
    print(dict(c))  # 转为dict
    # print(list(c))   此写法错误,返回空列表
    i1, i2 = zip(*zip(a, b))
    print(list(zip(*zip(a, b)))) # [(1, 2, 3), ('a', 'b', 'c')]
    print(*zip(a, b))  # (1, 'a') (2, 'b') (3, 'c')
    print(i1, i2)  # (1, 2, 3) ('a', 'b', 'c') 解压
    nums = ['flower', 'flow', 'flight']
    for i in zip(*nums):
        print(i)
    matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    print(list(zip(*matrix)))  # [(1, 4, 7), (2, 5, 8), (3, 6, 9)] 取列
    d = ['Herio', 'dsadsa', 'harris']
    print(list(zip(a, b, d)))  # 返回以元组为元素的列表


所有PythonBasic项目源码

传送门

以上是关于Python zip的使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 代码片段编写 LaTeX 文档

python颜色压缩的结果颜色比保存颜色深

常用python日期日志获取内容循环的代码片段

Python 向 Postman 请求代码片段

python使用上下文对代码片段进行计时,非装饰器

python常用代码片段总结