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 相关文章推荐
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 Python
Python实现Logger打印功能的方法详解
Sep 01 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
Nov 06 Python
Python类和对象的定义与实际应用案例分析
Dec 27 Python
Django如何使用第三方服务发送电子邮件
Aug 14 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
基于python实现微信好友数据分析(简单)
Feb 16 Python
Django用户身份验证完成示例代码
Apr 03 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 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内核探索:变量存储与类型使用说明
2014/01/30 PHP
jQuery的强大选择器小结
2009/12/27 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
详解jquery中$.ajax方法提交表单
2014/11/03 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
详解Django中Request对象的相关用法
2015/07/17 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
Python进行统计建模
2020/08/10 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
HTML5 body设置自适应全屏
2020/05/07 HTML / CSS
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
材料成型及控制工程专业求职信
2014/06/19 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
Python初识逻辑与if语句及用法大全
2021/08/07 Python