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操作xml文件示例
Apr 07 Python
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
Jun 09 Python
Python工程师面试题 与Python基础语法相关
Jan 14 Python
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
Python解决走迷宫问题算法示例
Jul 27 Python
详解python Todo清单实战
Nov 01 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
python Dijkstra算法实现最短路径问题的方法
Sep 19 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 Python
python字典的值可以修改吗
Jun 29 Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 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中经典方法实现判断多维数组是否为空
2011/10/23 PHP
PHP云打印类完整示例
2016/10/15 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
JS随机密码生成算法
2019/09/23 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
[00:15]天涯墨客终极技能展示
2018/08/25 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
2017/11/01 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
Python线程threading模块用法详解
2020/02/26 Python
python利用opencv保存、播放视频
2020/11/02 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
安全事故检讨书
2014/01/18 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
文明单位汇报材料
2014/12/24 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
航班延误投诉信
2015/07/02 职场文书
我的生日感言
2015/08/03 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python