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中的闭包实例详解
Aug 29 Python
Python查找函数f(x)=0根的解决方法
May 07 Python
Python线程创建和终止实例代码
Jan 20 Python
python 实现判断ip连通性的方法总结
Apr 22 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
python获取服务器响应cookie的实例
Dec 28 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
Jan 29 Python
说说如何遍历Python列表的方法示例
Feb 11 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
Python 实现一个手机号码获取妹子名字的功能
Sep 25 Python
Python操作多维数组输出和矩阵运算示例
Nov 28 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 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
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
jQuery中:last-child选择器用法实例
2014/12/31 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
jQuery操作css样式
2017/05/15 jQuery
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
node.js 模块和其下载资源的镜像设置的方法
2018/09/06 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
2020/07/28 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
json跨域调用python的方法详解
2017/01/11 Python
点球小游戏python脚本
2018/05/22 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
Python分布式进程中你会遇到的问题解析
2019/05/28 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
基于pytorch 预训练的词向量用法详解
2020/01/06 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
中学教师实习自我鉴定
2013/09/28 职场文书
大学应届生求职简历的自我评价
2013/10/08 职场文书
优秀员工个人的自我评价
2013/11/29 职场文书
车辆工程专业求职信
2014/06/14 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python