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中处理异常的教程
May 24 Python
深入学习python的yield和generator
Mar 10 Python
django模型层(model)进行建表、查询与删除的基础教程
Nov 21 Python
利用python编写一个图片主色转换的脚本
Dec 07 Python
利用Python读取txt文档的方法讲解
Jun 23 Python
Django实现分页功能
Jul 02 Python
详解10个可以快速用Python进行数据分析的小技巧
Jun 24 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
Jul 19 Python
PyCharm中如何直接使用Anaconda已安装的库
May 28 Python
python如何提升爬虫效率
Sep 27 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 Python
python 中[0]*2与0*2的区别说明
May 10 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(三)
2012/03/22 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
jQuery 位置插件
2008/12/25 Javascript
关于JavaScript的一些看法
2009/05/27 Javascript
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
点击表单提交时出现jQuery没有权限的解决方法
2014/07/23 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
JavaScript String 对象常用方法详解
2016/05/13 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
Python实现周期性抓取网页内容的方法
2015/11/04 Python
python编程实现希尔排序
2017/04/13 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
使用Python处理BAM的方法
2018/09/28 Python
django框架forms组件用法实例详解
2019/12/10 Python
对python中list的五种查找方法说明
2020/07/13 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
解释i节点在文件系统中的作用
2013/11/26 面试题
介绍一些UNIX常用简单命令
2014/11/11 面试题
超级搞笑检讨书
2014/01/15 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
学生党员公开承诺书
2014/05/28 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书