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 相关文章推荐
Linux环境下MySQL-python安装过程分享
Feb 02 Python
python 网络爬虫初级实现代码
Feb 27 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
Python实现随机生成有效手机号码及身份证功能示例
Jun 05 Python
Sanic框架Cookies操作示例
Jul 17 Python
Pandas时间序列:重采样及频率转换方式
Dec 26 Python
浅谈tensorflow之内存暴涨问题
Feb 05 Python
Python识别html主要文本框过程解析
Feb 18 Python
Pycharm修改python路径过程图解
May 22 Python
Python 分布式缓存之Reids数据类型操作详解
Jun 24 Python
Python基于execjs运行js过程解析
Nov 27 Python
Python 实现Mac 屏幕截图详解
Oct 05 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编程语言开发动态WAP页面
2006/10/09 PHP
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
PHP print类函数使用总结
2010/06/25 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
php事务处理实例详解
2014/07/11 PHP
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
Seajs源码详解分析
2019/04/02 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
python抓取百度首页的方法
2015/05/19 Python
Python中zfill()方法的使用教程
2015/05/20 Python
Python数据类型详解(二)列表
2016/05/08 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
python实现可变变量名方法详解
2019/07/01 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
耐克中国官方商城:Nike中国
2018/10/18 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
银行实习人员自我鉴定
2013/09/22 职场文书
大学生自我鉴定
2013/12/08 职场文书
仓库门卫岗位职责
2013/12/22 职场文书
关于运动会的稿件
2014/02/02 职场文书
美术教师自我鉴定
2014/02/12 职场文书
《菜园里》教学反思
2014/04/17 职场文书
生日宴会策划方案
2014/06/03 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
辞职信怎么写
2015/02/27 职场文书
如何用H5实现好玩的2048小游戏
2022/07/23 HTML / CSS