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高效编程技巧
Jan 07 Python
python冒泡排序算法的实现代码
Nov 21 Python
python通过floor函数舍弃小数位的方法
Mar 17 Python
学习python之编写简单乘法口诀表实现代码
Feb 27 Python
python中urllib.unquote乱码的原因与解决方法
Apr 24 Python
python logging日志模块的详解
Oct 29 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
python+PyQT实现系统桌面时钟
Jun 16 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
Python模块future用法原理详解
Jan 20 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
Jun 15 Python
如何获取numpy array前N个最大值
May 14 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
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
html中select语句读取mysql表中内容
2006/10/09 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
asp 的 分词实现代码
2007/05/24 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
Python自动连接ssh的方法
2015/03/07 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
关于python中remove的一些坑小结
2021/01/04 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
班级学习雷锋活动总结
2014/07/04 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书