zoukankan      html  css  js  c++  java
  • python-zip方法

     zip 返回一个将多个可迭代对象组合成一个元组序列的迭代器。

    1.  循环多个list的数据:

    1 letters = ['a', 'b', 'c']
    2 nums = [1, 2, 3]
    3 
    4 for letter, num in zip(letters, nums):
    5     print("{}: {}".format(letter, num))

    2. 将多个list的数据组合成tuple的list:

    1 list(zip(['a', 'b', 'c'], [1, 2, 3])) 
    2 
    3 # 得到: [('a', 1), ('b', 2), ('c', 3)].

    3. 将tuple组成的list拆分成多个tuple:

    1 some_list = [('a', 1), ('b', 2), ('c', 3)]
    2 letters, nums = zip(*some_list)
    3 
    4 #结果 
    5 # letters: ('a', 'b', 'c')
    6 # nums: (1, 2, 3)
    7          

    *注意,即使不是list,而是tuple,依然可以拆分,拆分后的结果都是tuple:

    some_list = (('a', 1), ('b', 2), ('c', 3))
    letters, nums = zip(*some_list)
    
    #结果同上 

    *注意,即使不是tuple,是list,依然可以拆分,拆分后的结果都是tuple:

    some_list = [['a', 1], ['b', 2], ['c', 3]]
    letters, nums = zip(*some_list)

    举个栗子:

    # 将 data 从 4x3 矩阵转置成 3x4 矩阵。
    
    data = ((0, 1, 2), (3, 4, 5), (6, 7, 8), (9, 10, 11))
    
    data_transpose = zip(*data)
    
    # 结果:
    [(0, 3, 6, 9), (1, 4, 7, 10), (2, 5, 8, 11)]

    *值得注意的是:

     zip 用于整合数据的时候,返回的是一个可迭代的迭代器,可以用来循环,也可以通过 list() , tuple() 方法把它变成list或tuple

     zip 用于拆分数据的时候,可以拆分list,拆分tuple,但返回的总是一个list,并且list的每个元素都是tuple

  • 相关阅读:
    antd Icon
    antd button
    tree 向上查找(更新删除后页面的数据)
    tree 向下查找 (删除整条tree)
    tree结构统一修改属性名(递归)
    json转换为tree对象(递归)
    python测试题
    c函数练习
    飞机一只
    python1119作业1
  • 原文地址:https://www.cnblogs.com/liulangmao/p/9119703.html
Copyright © 2011-2022 走看看