Python中的配对函数zip()解读

目录
  • Python配对函数zip()
    • 1、zip将列表、元组或其他序列的元素进行配对
    • 2、zip的常用场景为同时遍历多个序列
    • 3、对于已“配对”的序列
  • 说说zip函数的主要用途
    • 个人理解

Python配对函数zip()

1、zip将列表、元组或其他序列的元素进行配对

新建成一个元组构成的列表,它生成列表长度由最短的序列决定:

#zip
seq1=['foo','bar','baz']
seq2=['one','two','three']
zipped=zip(seq1,seq2)
list(zipped)
>>>
>[('foo', 'one'), ('bar', 'two'), ('baz', 'three')]

seq3=[True,False]
zipped2=zip(seq1,seq2,seq3)
list(zipped2)
>>>
>
[('foo', 'one', True), ('bar', 'two', False)]

2、zip的常用场景为同时遍历多个序列

有时和enumerate搭配使用:

mapping={}
for i,(a,b) in enumerate(zip(seq1,seq2)):
    print('{0},{1},{2}'.format(i,a,b))
    mapping[i]=(a,b)
print(mapping)
>>>
>0,foo,one
1,bar,two
2,baz,three
{0: ('foo', 'one'), 1: ('bar', 'two'), 2: ('baz', 'three')}

3、对于已“配对”的序列

利用zip函数进行拆分

pitchers=[('a','1'),('b','2'),('c','3')]
first_names,last_names=zip(*pitchers)
print(first_names,last_names)
>>>
>('a', 'b', 'c') ('1', '2', '3')

说说zip函数的主要用途

个人理解

zip函数主要用来将n个list中相同location的元素取出来,组成新的data

years = [22,23,24]
names = ['hjw','hyr','lyq']

a = zip(names,years)
print(a)        # <zip object at 0x000001A69F80F0C0>
print(list(a))  # [('hjw', 22), ('hyr', 23), ('lyq', 24)]

data = []
for (year,name) in zip(years,names):
    data.append({'name':name,'year':year})
print(data)
# [{'name': 'hjw', 'year': 22}, {'name': 'hyr', 'year': 23}, {'name': 'lyq', 'year': 24}]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python内置函数zip详解

    目录 一.简介 二.详解 三.代码 四.Reference 总结 一.简介 zip() 函数用于将可迭代的对象作为参数,主要功能是将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个iterable迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表. 要点:打包成元组,返回列表,如果长度不一致,则与短的iterable对齐 二.详解 语法:zip([iterable, ...]) 参数:iterable是一个或者多个可以迭代的

  • Python中zip()函数的解释和可视化(实例详解)

    zip()的作用 先看一下语法: zip(iter1 [,iter2 [...]]) -> zip object Python的内置help()模块提供了一个简短但又有些令人困惑的解释: 返回一个元组迭代器,其中第i个元组包含每个参数序列或可迭代对象中的第i个元素.当最短的可迭代输入耗尽时,迭代器将停止.使用单个可迭代参数,它将返回1元组的迭代器.没有参数,它将返回一个空的迭代器. 与往常一样,当您精通更一般的计算机科学和Python概念时,此模块非常有用.但是,对于初学者来说,这段话只会引发更

  • Python中zip()函数的简单用法举例

    定义:zip([iterable, ...]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表).若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同.利用*号操作符,可以将list unzip(解压),看下面的例子就明白了: >>> a = [1,2,3] >>> b = [4,5,6] >>> c = [4,5

  • Python从列表推导到zip()函数的5种技巧总结

    在本文中,作者介绍了 5 种方法,也许在入门阶段时,我们还不太了解它们,但在实战中这 5 个技巧非常实用. 字符串运算 字符串本质上也是一种元组,但是字符串有很多「运算」方式.最直观的是字符串的 + 和 * 运算,它们分别表示重复和连接. >>> my_string = "Hi Medium..!" >>> print(my_string * 2) Hi Medium..!Hi Medium..! >>> print(my_stri

  • Python中的配对函数zip()解读

    目录 Python配对函数zip() 1.zip将列表.元组或其他序列的元素进行配对 2.zip的常用场景为同时遍历多个序列 3.对于已“配对”的序列 说说zip函数的主要用途 个人理解 Python配对函数zip() 1.zip将列表.元组或其他序列的元素进行配对 新建成一个元组构成的列表,它生成列表长度由最短的序列决定: #zip seq1=['foo','bar','baz'] seq2=['one','two','three'] zipped=zip(seq1,seq2) list(zi

  • python中pandas.read_csv()函数的深入讲解

    这里将更新最新的最全面的read_csv()函数功能以及参数介绍,参考资料来源于官网. pandas库简介 官方网站里详细说明了pandas库的安装以及使用方法,在这里获取最新的pandas库信息,不过官网仅支持英文. pandas是一个Python包,并且它提供快速,灵活和富有表现力的数据结构.这样当我们处理"关系"或"标记"的数据(一维和二维数据结构)时既容易又直观. pandas是我们运用Python进行实际.真实数据分析的基础,同时它是建立在NumPy之上的

  • python中的map函数语法详解

    目录 1map()函数的简介以及语法: 2map()函数实例: 1 map()函数的简介以及语法: map是python内置函数,会根据提供的函数对指定的序列做映射. map()函数的格式是: map(function,iterable,...) 第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合. 把函数依次作用在list中的每一个元素上,得到一个新的list并返回.注意,map不改变原list,而是返回一个新list. 2 map()函数实例: del squa

  • Python中的 enumerate和zip

    目录 前言 1. enumerate 方法 2. zip 方法 总结 前言 我们在上一期学习了关于Python 迭代器Iterator详情相关的概念,满足迭代器需要符合两个条件 实现__iter__()方法:返回迭代器本省 实现__next__()方法:返回迭代器的下一项 同时,Python中提供数据类型如列表.字典.元组等序列是可迭代对象,可结合for...in 来进行遍历为使我们的代码更加高效且优雅,Python也提供两个关于迭代的方法. 因此,本期我们来学习enumerate函数和zip函

  • python中内置函数ord()返回字符串的ASCII数值实例详解

    目录 常用 ASCII 码表对照表: ord()函数介绍: 应用实例: 常用 ASCII 码表对照表: 注意如下几点: 0-9:48-57A-Z:65-90a-z:97-122 ord()函数介绍: ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值. >>> ord('0') 48 >>> ord('A') 65 >>

  • Python中的id()函数指的什么

    Python官方文档给出的解释是 id(object) Return the "identity" of an object. This is an integer (or long integer) which is guaranteed to be unique and constant for this object during its lifetime. Two objects with non-overlapping lifetimes may have the same

  • python 中的int()函数怎么用

    int(x, [base]) 功能: 函数的作用是将一个数字或base类型的字符串转换成整数. 函数原型: int(x=0) int(x, base=10),base缺省值为10,也就是说不指定base的值时,函数将x按十进制处理. 适用Python版本: Python2.x Python3.x 注意: 1. x 可以是数字或字符串,但是base被赋值后 x 只能是字符串 2. x 作为字符串时必须是 base 类型,也就是说 x 变成数字时必须能用 base 进制表示 Python英文文档解释

  • 浅谈python中的getattr函数 hasattr函数

    hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的). 示例: >>> hasattr(list, 'append') True >>> hasattr(list, 'add') False getattr(object,name,default): 作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其

  • python中去空格函数的用法

    本文简单介绍了Python中去空格函数的用法,这是一个很实用的函数,希望对大家的Python程序设计有所帮助.具体分析如下: 在Python中字符串处理函数里有三个去空格的函数: strip 同时去掉左右两边的空格 lstrip 去掉左边的空格 rstrip 去掉右边的空格 具体示例如下: >>>a=" gho stwwl " >>>a.lstrip() 'gho stwwl ' >>>a.rstrip() ' gho stwwl'

  • 详解Python中的分组函数groupby和itertools)

    具体代码如下所示: from operator import itemgetter #itemgetter用来去dict中的key,省去了使用lambda函数 from itertools import groupby #itertool还包含有其他很多函数,比如将多个list联合起来.. d1={'name':'zhangsan','age':20,'country':'China'} d2={'name':'wangwu','age':19,'country':'USA'} d3={'nam

随机推荐