python如何获取列表中每个元素的下标位置


Posted in Python onJuly 01, 2019

Git是编程中的基本技能之一,互联网公司几乎都在使用Git进行协作编程,昨天还有位禅友在微信上专门告诉我说星期五面试的时候刚好被问到 Git,幸好在这几天学了一下。Git并不难,但会Git至少可以说明一个人的学习能力或者说对技术的嗅觉能跟上主流,如果面试问你GitHub是什么都不知道,面试官就会对你打一个大的问号。

简单点评这一道题。

在使用 for 循环迭代一个列表时,有时我们需要获取列表中每个元素所在的下标位置是多少,例如 numbers = [10, 29, 30, 41],要求输出 (0, 10),(1, 29),(2, 30),(3, 41)

这道题的实现方式主要有两种方式,第一种方式是通过获取列表长度来迭代列表下标

for i in range(len(numbers)):
print('({0}, {1})'.format(i, numbers[i]))

第二种方法是直接使用enumerate函数:

numbers = [10, 29, 30, 41]
for index, value in enumerate(numbers):
print(index, value)

后者才是更地道的写法,在Python之禅中有一条格言是:There should be on,and preferably only one,obvious way to do it. 就是说我们写代码的时候应该选择一种而且最好是唯一一种显而易见的方式来实现。

内置函数 enumerate 还可以接收一个默认参数 start ,用于指定 index 从哪个数开始,默认是0,不知道有多少禅友知道这个用法,如果你不知道,那么建议你遇到新知识就更加详细地了解一下官方文档,而不仅仅只是浅尝辄止 ,学会查文档也是一个很重要的学习方法。文档

大家提交的代码大部分都回答对了,但也有些问题代码,比如命名很随意:

numbers = [10, 29, 30, 41]
for i, j in enumerate(numbers):
print(i, j)

用 i 和 j 这种没有任何意义的名字显得很业余,有人说这只是练习,但如果练习都是这样的态度,很难说工作时你能取一个合理的名字。

还有禅友用list工厂函数返回一个新的列表,这种写法有点画蛇添足,而且在迭代超大的列表时会占用更多的内存,因为你又创建了一个新的列表。

numbers = [10,29,30,41]
for i in list(enumerate(numbers)):
print(i,end=' ')

胜者属于坚持到最后的人

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python构建自定义回调函数详解
Jun 20 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
Python编程实现正则删除命令功能
Aug 30 Python
Python程序员面试题 你必须提前准备!
Jan 16 Python
Python + selenium自动化环境搭建的完整步骤
May 19 Python
python使用tcp实现局域网内文件传输
Mar 20 Python
Django进阶之CSRF的解决
Aug 01 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 Python
Pytorch之保存读取模型实例
Dec 30 Python
Python django框架开发发布会签到系统(web开发)
Feb 12 Python
python,Java,JavaScript实现indexOf
Sep 09 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 Python
Django自定义用户登录认证示例代码
Jun 30 #Python
Python中栈、队列与优先级队列的实现方法
Jun 30 #Python
Python中请不要再用re.compile了
Jun 30 #Python
用python求一个数组的和与平均值的实现方法
Jun 29 #Python
Python:Numpy 求平均向量的实例
Jun 29 #Python
python 计算数据偏差和峰度的方法
Jun 29 #Python
Python求均值,方差,标准差的实例
Jun 29 #Python
You might like
php 数组的一个悲剧?
2011/05/11 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
PHP实现字符串大小写转函数的功能实例
2019/02/06 PHP
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python持久性管理pickle模块详细介绍
2015/02/18 Python
python批量导入数据进Elasticsearch的实例
2018/05/30 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
python 实现数据库中数据添加、查询与更新的示例代码
2020/12/07 Python
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
物业管理应届生求职信
2013/10/28 职场文书
在职人员函授期间自我评价分享
2013/11/08 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
开门红主持词
2014/04/02 职场文书
旷工检讨书1000字
2015/01/01 职场文书
2015年复活节活动总结
2015/02/27 职场文书
公司借条范本
2015/05/25 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书