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处理图片之PIL模块简单使用方法
May 11 Python
一张图带我们入门Python基础教程
Feb 05 Python
详解python里使用正则表达式的分组命名方式
Oct 24 Python
python如何重载模块实例解析
Jan 25 Python
PyQT实现多窗口切换
Apr 20 Python
PIL图像处理模块paste方法简单使用详解
Jul 17 Python
Python批量安装卸载1000个apk的方法
Apr 10 Python
分布式全文检索引擎ElasticSearch原理及使用实例
Nov 14 Python
PyCharm常用配置和常用插件(小结)
Feb 06 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 Python
Pytest中conftest.py的用法
Jun 27 Python
python lambda 表达式形式分析
Apr 03 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计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
PDO::errorCode讲解
2019/01/28 PHP
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
python中单下划线_的常见用法总结
2018/07/10 Python
python中pip的安装与使用教程
2018/08/10 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
法国奢华女性时尚配饰网上商店:Monnier Frères
2016/08/27 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
营销部内勤岗位职责
2014/04/30 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
高一作文之暖冬
2019/11/09 职场文书
详解nodejs内置模块
2021/05/06 NodeJs