python列表中enumerate和zip函数用法

enumerate:

定义:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标

例子:

1 list1 =[89,98,00,75,68,37,58,90]
2 for index,item in enumerate(list1):
3     if str(item)!=‘0‘:
4         list1[index]=int(‘19‘+str(item))
5     else:
6         list1[index]=int(‘200‘+str(item))
7 list1.sort()

解释:给数字加上年份;通过for循环,遍历出list1中的数据和序列号,同时对不是0的元素加上19,给是0的加上200;list1[index]就是列表元素的位置

zip:

定义:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。

我们可以使用 list() 转换来输出列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

例子:

 1 gem=[["大众",643518],["奔驰",319163],["宝马",265051],["福特",252323],["雪铁龙",    227967],["雷诺",130825],["现代",114878],["奥迪",255300]]
 2 fra=[["雪铁龙",    698985],["雷诺",547704],["大众",259268],["福特",82633],["现代",77855],["宝马",    84931],["奥迪",51740],["奔驰",73254]]
 3 eng=[["福特",254082],["大众",203150],["雪铁龙",177298],["奔驰",172238],["宝马",172048],["奥迪",143739],["雷诺",102637],["现代",89925]]
 4 gem.sort()
 5 fra.sort()
 6 eng.sort()
 7 count = []
 8 for x,y,z in zip(gem,fra,eng):
 9     a = x[1]+y[1]+z[1]
10     count.append(str(a)+‘ ‘+x[0])
11 n =zip(gem,fra,eng)
12 print(list(zip(gem,fra,eng)))
13 h,j,k = zip(*zip(gem,fra,eng))
14 print(list(h),list(j),list(k))
15 print(count)16 count.sort()

解释:统计每个车型总产量时,先将列表排序,最后用zip将三个列表压缩,把值相加;若最后想按照产量排序,新产生的列表需把数字放在第一位,可以按照数字排序,文字在第一位是按照文字的ASC码排序

*zip由于zip是压缩成了元组,故在解压输出时需要用list函数转换成列表

1 a = [1,2,3]
2 b = [4,5,6]
3 c = [4,5,6,7,8]
4 zipped = zip(a,b)
5 #print(list(zipped))
6 a1,a2 =zip(*zipped)
7 #a1,a2 = zip(*zip(a,b))
8 print(list(a1),list(a2))

代码6与7均可

原文地址:https://www.cnblogs.com/XiaoF0725/p/11428489.html

时间: 2024-10-10 16:24:41

python列表中enumerate和zip函数用法的相关文章

python中enumerate()函数用法

python中enumerate()函数用法 先出一个题目:1.有一 list= [1, 2, 3, 4, 5, 6]  请打印输出:0, 1 1, 2 2, 3 3, 4 4, 5 5, 6 打印输出, 2.将 list 倒序成 [6, 5, 4, 3, 2, 1] 3.将a 中的偶数挑出 *2 ,结果为 [4, 8, 12] 这个例子用到了python中enumerate的用法.顺便说一下enumerate在for循环中得到计数的用法,enumerate参数为可遍历的变量,如 字符串,列表等

Python的range、enumerate和zip函数用法

range函数可创建一个整数列表.如果需要知道当前元素在列表中的索引,推荐用enumerate代替range.zip函数用于同时遍历多个迭代器. 一.range 函数 range函数可创建一个整数列表,一般用在 for 循环中. 语法: range([start,] stop[, step]) 参数: start: 计数从 start 开始.默认是从 0 开始.例如range(5)等价于range(0,5); stop: 计数到 stop 结束,但不包括 stop.例如:range(0,5) 是

python列表中添加对象时的注意

最近在用python写代码,用到了对象数组.在c++中我们要使用能够灵活操作的对象数组,一般会用stl的vector类,该类的push_back方法可以将一个对象的拷贝加入到vector对象中,所以当使用[]下标对vector的元素进行修改时,原来的作为push_back参数的那个对象的值并不会改变.python中类似的方法是列表的append方法,但是要注意此时若加入到列表中的是基础数据类型,则是值传递,若是对象,则是引用传递.这种参数的传递方式和java一样.因此,在python中通过列表下

Python中zip()函数用法

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

python zip()函数用法

zip() --内建函数 zip([iterable, ...]) 它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表). 若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同: 与dict() 连用,可完成list组合成字典: 注:python3目前zip函数print输出不能正常显示,显示如:<zip object at 0x0000000002598548> 用法示例: 读者看看下面的例子,对

python中enumerate()的用法

先出一个题目:1.有一 list= [1, 2, 3, 4, 5, 6]  请打印输出:0, 1 1, 2 2, 3 3, 4 4, 5 5, 6 打印输出, 2.将 list 倒序成 [6, 5, 4, 3, 2, 1] 3.将a 中的偶数挑出 *2 ,结果为 [4, 8, 12] 这个例子用到了python中enumerate的用法.顺便说一下enumerate在for循环中得到计数的用法,enumerate参数为可遍历的变量,如 字符串,列表等: 返回值为enumerate类. 示例代码如

python列表中的pop函数

再python的列表中,有许多的内置方法,而在这里我主要向大家介绍一下pop函数. pop函数主要是用于删除列表中的数据.而其删除值时会返回删除的值.如果没有参数传入时, 则会默认认为删除列表的最后一项数据. 如: a = ["ss",'nn','cc'] print(a.pop(1))运行结果就是nn如果是print(a.pop())运行结果就是:cc 原文地址:https://www.cnblogs.com/bao9687426/p/9813041.html

python列表的一些常用方法以及函数

学习到了一些关于python列表的新知识,自己整理了一下,方便大家参考: #!/usr/bin/env python # _*_ coding:utf-8 _*_ # File_type:列表的常用操作方法,以及一些常用的函数 # Filename:list_function_test.py # Author:smelond 方法: 1.list.count()统计: list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]list_count = list.count

Python切片中的误区与高级用法

众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串.列表.元组...)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢? 切片(slice)就是一种截取索引片段的技术,借助切片技术,我们可以十分灵活地处理序列类型的对象.通常来说,切片的作用就是截取序列对象,然而,它还有一些使用误区与高级用法,都值得我们注意.所以,本文将主要跟大家一起来探讨这些内容,希望你能学有所获. 事先声明,切片并非列表的专属操作,但因为列表最具有代表性,所以,本文仅以列表为例作探讨. 1.切片的基础