Python实现迭代时使用索引的方法示例
作者:有一种宿命叫无能为力 发布时间:2022-12-15 11:08:48
标签:Python,迭代,索引
本文实例讲述了Python实现迭代时使用索引的方法。分享给大家供大家参考,具体如下:
索引迭代
Python中,迭代永远是取出元素本身,而非元素的索引。
对于有序集合,元素确实是有索引的。有的时候,我们确实想在 for 循环中拿到索引,怎么办?
方法是使用 enumerate()
函数:
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> for index, name in enumerate(L):
... print index, '-', name
...
0 - Adam
1 - Lisa
2 - Bart
3 - Paul
使用 enumerate()
函数,我们可以在for循环中同时绑定索引index和元素name。但是,这不是 enumerate()
的特殊语法。实际上,enumerate()
函数把:
['Adam', 'Lisa', 'Bart', 'Paul']
变成了类似:
[(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')]
因此,迭代的每一个元素实际上是一个tuple:
for t in enumerate(L):
index = t[0]
name = t[1]
print index, '-', name
如果我们知道每个tuple元素都包含两个元素,for循环又可以进一步简写为:
for index, name in enumerate(L):
print index, '-', name
这样不但代码更简单,而且还少了两条赋值语句。
可见,索引迭代也不是真的按索引访问,而是由 enumerate()
函数自动把每个元素变成 (index, element) 这样的tuple
,再迭代,就同时获得了索引和元素本身。
同时,也可以采用zip的方法给迭代对象加上索引
zip()
函数可以把两个 list 变成一个 list:
>>> zip([10, 20, 30], ['A', 'B', 'C'])
[(10, 'A'), (20, 'B'), (30, 'C')]
在迭代 ['Adam', 'Lisa', 'Bart', 'Paul'] 时,如果我们想打印出名次 - 名字(名次从1开始),请考虑如何在迭代中打印出来。
提示:考虑使用zip()
函数和range()
函数
代码如下:
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for index, name in zip(range(1, 5), L):
print index, '-', name
输出结果为:
1 - Adam
2 - Lisa
3 - Bart
4 - Paul
索引成功加上
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/you_are_my_dream/article/details/53160047
0
投稿
猜你喜欢
- 本文实例为大家分享了python实现邮箱发送信息的具体代码,供大家参考,具体内容如下一、SSLSSL 是指安全套接字层,简而言之,它是一项标
- Selenium Python 提供了一个简单的API 便于我们使用 Selenium WebDriver编写 功能/验收测试。 通过Sel
- 本文实例讲述了Python实现监控键盘鼠标操作。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-import
- selenium执行js优点:直接调用浏览器的环境障碍:绕过selenium监测原理:# 执行js代码bro.execute_script(
- 今天解析DEDECMS时发现deder的MYSQL时间字段,都是用`senddata` int(10) unsigned NOT NULL
- 点击顶部的“SQL”标签进入sql命令输入界面。输入以下命令:update mysql.user set password=PASSWORD
- 系统环境centos7python2.7先在操作系统安装expect[root@V71 python]# vi 3s.py#!/usr/bi
- 今天发现一个很好用二维数组排序的php方法,usort,推荐给大家,以后二维数组里面,要按照一个字段的值排序用这个方法简单高效,例如下面的数
- 在开发的时候,用户要求在认证的时候自动添加xadmin登录账户和分配组权限from django.contrib.auth.models i
- 本博客将为各位分享Python Helium库,其是在 Selenium库基础上封装的更加高级的 Web 自动化工具,它能够通过网页端可见的
- python内存管理机制:引用计数垃圾回收内存池1. 引用计数当一个python对象被引用时 其引用计数增加 1 ; 当其不再被变量引用时
- 作者:Dmitry @ Usability Post 版权所有 Copyright.译者:明月星光 @ UCD翻译小组原文:ht
- 原文:10 Principles Of Effective Web Design翻译:熊猫2008-02-03本文由熊猫同学授权翻译首发。并
- Pandas中根据列的值选取多行数据 # 选取等于某些值的行记录 用 == df.loc[df['column_name']
- 本文实例讲述了python中for语句简单遍历数据的方法。分享给大家供大家参考。具体如下:for name in ["kak&qu
- 以下实例为通过用户输入两个数字,并计算两个数字之和:# -*- coding: UTF-8 -*-# Filename : test.py#
- 一 方法汇总在 Python 进程中,有几种方法可以实现数据交互:共享内存:这是一种用于进程间通信的高效方式。多个进程可以访问同一个共享内存
- 在工作中,作为一名开发者的你,也许偶尔需要从事维护数据库的工作。下面我们来介绍一下两个SQL服务器的维护技巧:轻松改变数据库拥有者、整理索引
- 前言:pandas 中的索引意味着只需从系列中选择特定数据。索引可能意味着选择所有数据,其中一些数据来自特定列。索引也可以称为子集选择。使用
- 前言最近碰到了照片识别的场景,正好使用了face_recognition项目,给大家分享分享。face_recognition项目能做的很多