python列表中enumerate和zip函数用法
enumerate:
定义:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
例子:
list1 =[89,98,00,75,68,37,58,90]
for index,item in enumerate(list1):
if str(item)!='':
list1[index]=int(''+str(item))
else:
list1[index]=int(''+str(item))
list1.sort()
解释:给数字加上年份;通过for循环,遍历出list1中的数据和序列号,同时对不是0的元素加上19,给是0的加上200;list1[index]就是列表元素的位置
zip:
定义:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
我们可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
例子:
gem=[["大众",643518],["奔驰",319163],["宝马",265051],["福特",252323],["雪铁龙", 227967],["雷诺",130825],["现代",114878],["奥迪",255300]]
fra=[["雪铁龙", 698985],["雷诺",547704],["大众",259268],["福特",82633],["现代",77855],["宝马", 84931],["奥迪",51740],["奔驰",73254]]
eng=[["福特",254082],["大众",203150],["雪铁龙",177298],["奔驰",172238],["宝马",172048],["奥迪",143739],["雷诺",102637],["现代",89925]]
gem.sort()
fra.sort()
eng.sort()
count = []
for x,y,z in zip(gem,fra,eng):
a = x[1]+y[1]+z[1]
count.append(str(a)+' '+x[0])
n =zip(gem,fra,eng)
print(list(zip(gem,fra,eng)))
h,j,k = zip(*zip(gem,fra,eng))
print(list(h),list(j),list(k))
print(count)
16 count.sort()
解释:统计每个车型总产量时,先将列表排序,最后用zip将三个列表压缩,把值相加;若最后想按照产量排序,新产生的列表需把数字放在第一位,可以按照数字排序,文字在第一位是按照文字的ASC码排序
*zip由于zip是压缩成了元组,故在解压输出时需要用list函数转换成列表
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b)
#print(list(zipped))
a1,a2 =zip(*zipped)
#a1,a2 = zip(*zip(a,b))
print(list(a1),list(a2))
代码6与7均可
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 打印输 ...
- Python的range、enumerate和zip函数用法
range函数可创建一个整数列表.如果需要知道当前元素在列表中的索引,推荐用enumerate代替range.zip函数用于同时遍历多个迭代器. 一.range 函数 range函数可创建一个整数列表 ...
- Python语言中enumerate()及zip()函数的使用例子
在Python编程语言中,enumerate()及zip()是两个常用的内置函数,这两个函数功能类似,但又有所区别,下面通过两个例子分别进行说明. enumerate()函数 该函数在字面上是枚举.列 ...
- python开发笔记之zip()函数用法详解
今天分享一篇关于python下的zip()函数用法. zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原 ...
- 如何在python列表中查找某个元素的索引
如何在python列表中查找某个元素的索引 2019-03-15 百度上回复别人的问题,几种方式的回答: 1) print('*'*15,'想找出里面有重复数据的索引值','*'*15) listA ...
- jquery中attr()与prop()函数用法实例详解(附用法区别)
本文实例讲述了jQuery中attr()与prop()函数用法.分享给大家供大家参考,具体如下: 一.jQuery的attr()方法 jquery中用attr()方法来获取和设置元素属性,attr是a ...
- Python中zip()函数用法
定义:zip([iterable, …])zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的l ...
- 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, ...
- python zip()函数用法
zip() --内建函数 zip([iterable, ...]) 它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表) ...
随机推荐
- 使用vue-cli3时怎么mock数据
应用场景 在前后端分离的开发模式中,后端给前端提供一个接口,由前端向后端发请求,得到数据后前端进行渲染. 由于前后端开发进度的不统一,前端往往使用本地的测试数据进行数据渲染的测试. 如何配置 在vue ...
- 响应式web开发的一些文章
CSS Device Adaptation:关注 W3C 建议的 CSS 设备适配标准. “在 CSS 中使用 LESS 实现更多的功能”(作者:Uche Ogbuji,developerWorks, ...
- connect failed: 127.0.0.1#953: connection refused
Problem1 : root@jeremy-VirtualBox:/etc/bind# /etc/init.d/bind9 restart * Stopping domain name servic ...
- SpringBoot传递单一参数时@RequestParam和@RequestBody的区
用SpringBoot框架做项目时,经常需要前端给后端传递参数,如果需要多条参数,通常的做法是把这些参数封装为一个对象来传递,前端用POST方式调用.但有时会遇到后端只需要一条参数(比如一个Strin ...
- Android 中MediaPlayer播放音频
1.播放/res/raw/目录下的音频资源 public class MainActivity extends Activity { MediaPlayer mediaPlayer; int posi ...
- 如何取消IDEA的自动删除行尾空格?
使用IDEA,添加注释的时候敲空格,总是会把行尾空格删除导致代码跑到注释行,很不爽~~ 取消这个不爽的功能:File--Settings--Editor--General--Other--Strip ...
- 2019-9-2-C#委托
title author date CreateTime categories C#委托 lindexi 2019-09-02 12:57:37 +0800 2018-2-13 17:23:3 +08 ...
- 分布式消息中间件(二)ActiveMQ
一.概述 Apache出品,最流行的,能力强劲的开源消息总线. 1.JMS规范 Java消息服务(Java Message Service,即JMS)应用程序接口是一个Java平台中关于面向消息中间件 ...
- Java——面向对象知识总结
面向对象的三条主线: 一.类及类的成分 1.类与类的关系: java程序是关注于类的设计. 类从代码的角度:并列关系! 从执行.设计的角度:关联关系.继承关系.聚合关系 class A{ } clas ...
- Android中对消息机制(Handler)的再次解读
今天遇到一些关于在子线程中操作Handler的问题,感觉又要研究源代码了,但是关于Handler的话,我之前研究过,可以参考这篇文章:http://blog.csdn.net/jiangwei0910 ...