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 基于Twisted框架的文件夹网络传输源码
Aug 28 Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 Python
浅析Python四种数据类型
Sep 26 Python
Python简单过滤字母和数字的方法小结
Jan 09 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
python list多级排序知识点总结
Oct 23 Python
python爬虫学习笔记之pyquery模块基本用法详解
Apr 09 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
Python OpenCV中的numpy与图像类型转换操作
Dec 11 Python
详解用Python把PDF转为Word方法总结
Apr 27 Python
Python爬虫:从m3u8文件里提取小视频的正确操作
May 14 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 Session机制简介及用法
2014/08/19 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
javascript prototype原型操作笔记
2009/12/07 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
js函数排序的实例代码
2013/07/01 Javascript
js数组操作学习总结
2013/11/04 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
director.js实现前端路由使用实例
2015/02/03 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
2015/08/20 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
解决element ui select下拉框不回显数据问题的解决
2019/02/20 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
Python运用于数据分析的简单教程
2015/03/27 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
python将数据插入数据库的代码分享
2020/08/16 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
美国社交购物市场:MassGenie
2019/02/18 全球购物
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
最经典的商业地产项目广告词
2014/03/13 职场文书
移风易俗倡议书
2014/04/15 职场文书
林肯就职演讲稿
2014/05/19 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书
谢师宴学生致辞
2015/07/27 职场文书