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编程中的for循环语句学习教程
Oct 14 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
Apr 02 Python
Flask框架配置与调试操作示例
Jul 23 Python
Python变量类型知识点总结
Feb 18 Python
python正则表达式匹配不包含某几个字符的字符串方法
Jul 23 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
Python函数的默认参数设计示例详解
Dec 01 Python
python实现布隆过滤器及原理解析
Dec 08 Python
pytorch 实现模型不同层设置不同的学习率方式
Jan 06 Python
wxpython自定义下拉列表框过程图解
Feb 14 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 Python
Python本地及虚拟解释器配置过程解析
Oct 13 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 SOCKET编程详解
2015/05/22 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
使用Vue构建可重用的分页组件
2018/03/26 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
python实现web方式logview的方法
2015/08/10 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
Python读取csv文件实例解析
2019/12/30 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
销售顾问的岗位职责
2013/11/13 职场文书
办公室岗位职责
2014/02/12 职场文书
如何写好建议书
2014/03/13 职场文书
建筑学专业自荐书
2014/07/09 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
客房服务员岗位职责
2015/02/09 职场文书
付款证明格式范文
2015/06/19 职场文书
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python