python中zip()函数遍历多个列表方法

在对列表的元素进行找寻时,会频繁的说到遍历的理念。对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环。本篇所要带来的是zip() 函数的方法,能够对多个迭代器进行遍历。下面我们就python中zip的说明、语法、使用注意点进行讲解,然后带来遍历多个列表的实例。

1、说明

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

2、语法

zip(iterable, ...)

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

3、注意

(1)zip 可以平行地遍历多个迭代器,如果可迭代对象的长度不相同将按短的序列为准

(2)python3中zip相当于生成器,遍历过程中产生元组,python2会把元组生成好,一次性返回整份列表

4、实例

使用zip()函数一次处理两个或多个列表中的元素:

alist = ['a1', 'a2', 'a3']
blist = ['1', '2', '3']
for a, b in zip(alist, blist):
  print a, b
# a1 1
# a2 2
# a3 3

python zip()函数实例扩展:

两个或者多个list

a=[1,2,3]
b=[4,5,6]
c=[7,8,9,10] 

#两个list去zip()
zip(a,b)

#三个list去zip(),返回的对象的长度和最小的迭代器一致
zip(a,b,c)

#用list()查看zip后的数据
list(zip(a,b)) #[(1, 4), (2, 5), (3, 6)]
list(zip(a,b,c)) #[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

#使用zip(*zip())解压
a1,b1=zip(*zip(a,b))

#两个list迭代输出
for i,j in zip(a,b):
 print(i,j)

如有两个list,一个是一层,一个是嵌套,要组成一个dict

#将zip对象转换成字典看看
a=[1,2,3]
d=[['a','b','c'],['aa','bb','cc'],['aaa','bbb','ccc']]

dict(zip(a,d)) #{1: ['a', 'b', 'c'], 2: ['aa', 'bb', 'cc'], 3: ['aaa', 'bbb', 'ccc']}
#如果一个是key值,一个内层list就是一行value
[dict(zip(a,value)) for value in d] #[{1: 'a', 2: 'b', 3: 'c'},
 {1: 'aa', 2: 'bb', 3: 'cc'},
 {1: 'aaa', 2: 'bbb', 3: 'ccc'}]

#或者是
l=[]
for value in d:
 dict={}
 for i in range(len(value)):
  dict[a[i]]=value[i]
 l.append(dict)

到此这篇关于python中zip()函数遍历多个列表方法的文章就介绍到这了,更多相关zip()函数如何在python中遍历多个列表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)

    译者前言:相信凡是用过 zip() 内置函数的人,都会赞同它很有用,但是,它的最大问题是可能会产生出非预期的结果.PEP-618 提出给它增加一个参数,可以有效地解决大家的痛点. 这是 Python 3.10 版本正式采纳的第一个 PEP,「Python猫」一直有跟进社区最新动态的习惯,所以翻译了出来给大家尝鲜,强烈推荐一读.(PS:严格来说,zip() 是一个内置类(built-in type),而不是一个内置函数(built-in function),但我们一般都称它为一个内置函数.) PE

  • python中enumerate() 与zip()函数的使用比较实例分析

    本文实例讲述了python中enumerate() 与zip()函数的使用比较.分享给大家供大家参考,具体如下: enumerate() 与zip()是两个常用的内置函数,这两个函数功能类似,同时又存在差异.介绍如下: 一.enumerate() 函数 该函数中文解释:枚举.列举的意思. 用于将一个可遍历的数据对象(如:列表.元组.字符串等)组合为一个索引序列,同时列出:数据和数据下标 一般在for循坏中使用,可同时得到数据对象的值及对应的索引值 a = ['one','two','three'

  • 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()函数的解释和可视化(实例详解)

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

  • python zip()函数使用方法解析

    这篇文章主要介绍了python zip()函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 参数iterable为可迭代的对象,并且可以有多个参数.该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素.返回的列表长度被截断为最短的参数序列的长度.只有一个序列参数时,它返回一个1元组的列表.没有参数时,它返回一个空的列表. 当没有参数的时候 import numpy as np zz=zip() pr

  • Python zip()函数用法实例分析

    本文实例讲述了Python zip()函数用法.分享给大家供大家参考,具体如下: 这里介绍python中zip()函数的使用: >>> help(zip) Help on built-in function zip in module __builtin__: zip(...) zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] Return a list of tuples, where each tuple c

  • python3中zip()函数使用详解

    zip在python3中,处于优化内存的考虑,只能访问一次!!!(python2中可以访问多次),童鞋们一定要注意, * coding: utf-8 * zip()函数的定义:从参数中的多个迭代器取元素组合成一个新的迭代器: 返回: 返回一个zip对象,其内部元素为元组:可以转化为列表或元组: 传入参数: 元组.列表.字典等迭代器. 当zip()函数中只有一个参数时,zip(iterable)从iterable中依次取一个元组,组成一个元组. 在python 3.0中有个大坑,zip中的数据只能

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

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

  • python中zip()函数遍历多个列表方法

    在对列表的元素进行找寻时,会频繁的说到遍历的理念.对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环.本篇所要带来的是zip() 函数的方法,能够对多个迭代器进行遍历.下面我们就python中zip的说明.语法.使用注意点进行讲解,然后带来遍历多个列表的实例. 1.说明 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表.(注:在python3中返回的是zip对象) 2.语法 zip(iterable, ...) # 其中 it

  • Python中zip()函数用法实例教程

    本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表).若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同.利用*号操作符,可以将list unzip(解压). 二.用法示例: 读者看看下面的例子,

  • Python中zip函数如何使用

    介绍 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. ps. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表. 例子 a = [1,2,3] b = [4,5,6] c = [4,5,6,7,8] zipped = zip(a,b) # 打包为元组的列表 # 输出:[(1, 4), (2, 5), (3, 6)] zip(a,c) # 元素个数与最短的列表一致 # 输出:[(

  • python中enumerate函数遍历元素用法分析

    本文实例讲述了python中enumerate函数遍历元素用法.分享给大家供大家参考,具体如下: enumerate函数用于遍历序列中的元素以及它们的下标 示例代码如下: i = 0 seq = ['one', 'two', 'three'] for element in seq: print i, seq[i] i += 1 #0 one #1 two #2 three print '============' seq = ['one', 'two', 'three'] for i, elem

  • Python中max函数用于二维列表的实例

    最近写一个和二维列表有关的算法时候发现的 当用max求二维列表中最大值时,输出的结果是子列表首元素最大的那个列表 测试如下 c=[[1,2,-1],[0,5,6]] a=[[0,3,-1],[1,4,6]] print(max(c),max(a)) 结果是这样的 [1, 2, -1] [1, 4, 6] 以上这篇Python中max函数用于二维列表的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python中max函数用法实例分析 Py

  • Python中return函数返回值实例用法

    在学习return函数时候,还是要知道了解它最主要的函数作用,比如,怎么去实现返回一个值,另外还有就是我们经常会用到的使用return能够进行多值输出,这才是我们需要抓住知识的重点,针对上述所提及的内容,都可以来往下看文章,答案都在文章内容获取哦~ return 添加返回值 return 显示返回对象 返回值接受:value = func() 例子:计算学成最高分 listv = [90,80,88,77,66] # 分数计算return高分 def scoreCalculate(values)

  • Python中字典及遍历常用函数的使用详解

    目录 字典中元素的个数计算 字典中的键名 加粗样式字典中的键值 字典的键名以及对应的键值 字典的遍历 方法一 方法二 字典中元素的个数计算 len(字典名) 举例: person={"姓名":"张三","年龄":20,"性别":"男"} print(len(person)) 输出: 3 字典中的键名 字典名.keys() 举例: person={"姓名":"张三",&

  • python中remove函数的踩坑记录

    摘要: 在python的使用过程中,难免会遇到要移除列表中对象的要求.这时可以使用remove函数. 对于python中的remove()函数,官方文档的解释是:Remove first occurrence of value.大意也就是移除列表中等于指定值的第一个匹配的元素. 语法 list.remove() 参数 obj 参数:从列表中删除的对象的索引 返回值 删除后不会返回值 常见用法: a = [1,2,3,4],a.remove(1),然后a就是[2,3,4]:对于a = [1,1,1

随机推荐