美文网首页Python
使用zip同时迭代多个序列

使用zip同时迭代多个序列

作者: eeert2 | 来源:发表于2020-04-15 21:41 被阅读0次

一、考虑这样一个场景,我们有两个数值列表:
[1,3,5],[2,4,6],现在我们需要将位置相同的数值相加。
新的列表的值为[1+2,3+4,5+6],也就是[3,7,11]
如果使用常规的遍历方式是有点麻烦,且可读性很差。使用zip可以很好的解决这一问题。

from typing import List

def add_nums(num1: List[int], num2: List[int]) -> List[int]:
    return [i + j for i, j in zip(num1, num2)]

使用add_nums

if __name__ == '__main__':
    print(add_nums([1, 3, 5], [2, 4, 6])) # [3, 7, 11]

实现了这种特殊的加法,我们才能进一步去研究矩阵

二、当我们读表格文件,例如csv文件,我们会读取表头内容
如何将表头与内容组合就是一个问题。

['username', 'password', 'address']
['zhuyy', '123456', '杭州']
['lsu', '2084_73', '北京']
['lkd', '63*$er', '天津']
['dfj', '09rjs65', '重庆']
['dkg', 'dhj634', '上海']

使用zip解决这种问题就很方便

def to_dict(head: list, body: list) -> dict:
    return {
        name: value
        for name, value in zip(head, body)
        if name  # key 不能为空
    }

使用:

if __name__ == '__main__':
    named_content = to_dict(
        ['username', 'password', 'address'],
        ['zhuyy', '123456', '杭州']
    )
    print(named_content)
    # {'username': 'zhuyy', 'password': '123456', 'address': '杭州'}

备注:[python使用DictReader读取csv可以直接达到这种效果]

相关文章

  • Python3 - 同时迭代多个序列

    问题 同时迭代多个序列,每次分别从一个序列中取一个元素。 解决方案 同时迭代多个序列时,使用 zip() 函数。比...

  • 使用zip同时迭代多个序列

    一、考虑这样一个场景,我们有两个数值列表:[1,3,5],[2,4,6],现在我们需要将位置相同的数值相加。新的列...

  • zip()

    问题你想同时迭代多个序列,每次分别从一个序列中取一个元素。解决方案为了同时迭代多个序列,使用 zip() 函数。比...

  • zip() --同时迭代多个序列

    1、可以使用zip()函数来同时迭代多个序列 zip(a, b)的工作原理是创建出一个迭代器,该迭代器可产生出元组...

  • 【2017-09-26】迭代器与生成器(三)

    同时迭代多个序列运用内置zip()函数zip(a, b) 会生成一个可返回元组 (x, y) 的迭代器,其中 x ...

  • python zip() 同时遍历多个序列

    4.11 如果我们要遍历的元素包含在多个序列中,如何对他们同时进行遍历 zip()函数可以同时遍历多个序列 zip...

  • 同时迭代多个序列

    xpts = [1, 5, 4, 2, 10, 7]ypts = [101, 78, 37, 15, 62, 99...

  • Python中list的遍历

    1.zip 首先zip可以用来迭代,可以把两个序列压缩然后返回一个元组列表。 例子: 迭代使用: 本文只是对自己平...

  • Python中使用zip函数同时遍历多个迭代器

    版本为Python3。zip函数是Python内置的函数。 应用举例 这样就很简洁地实现了同时遍历两个列表,ver...

  • 20.Python的其他场景的迭代工具

    昨天介绍了zip和enumerate两个用于迭代的函数。zip实现并行迭代,用于同是迭代两个序列的场景。enume...

网友评论

    本文标题:使用zip同时迭代多个序列

    本文链接:https://www.haomeiwen.com/subject/owohvhtx.html