【Python之旅】第二篇(六):enumerate枚举

1.普通情况下打印列表中索引号及其对应元素

使用下面的循环:

>>> L = [‘a‘, ‘b‘, ‘c‘, ‘d‘]
>>> for i in L:
...   print L.index(i),i
... 
0 a
1 b
2 c
3 d


2.使用enumerate在循环时同时访问索引

可以使用enumerate实现上面的功能:

>>> L = [‘a‘, ‘b‘, ‘c‘, ‘d‘]
>>> enumerate(L)
<enumerate object at 0xe83be0>
>>> list(enumerate(L))
[(0, ‘a‘), (1, ‘b‘), (2, ‘c‘), (3, ‘d‘)]
>>> for (i,v) in enumerate(L):
...   print i,v
... 
0 a
1 b
2 c
3 d
>>> for (i,v) in list(enumerate(L)):
...   print i,v
... 
0 a
1 b
2 c
3 d

当然enmuerate对字符串也是可以实现类似的操作的。

时间: 2024-10-16 03:08:34

【Python之旅】第二篇(六):enumerate枚举的相关文章

Objective-C学习之旅 第二篇

Objective-C学习之旅 第二篇 Objective-C 字符串处理 //苹果从iOS5开始,就引入了ARC这种内存管理技术,目的就是消除繁琐而容易出错的手工内存管理行为. //如果项目是ARC的,那么就不能调用原来的retain, release, autorelease,而且dealloc也不再需要内存维护相关的代码. //也就是说下面的例子中,如果在ARC模式下,就不用[astring release]; /**************************************

由浅入深,走进Python装饰器-----第二篇:进阶--函数装饰函数

上一篇:由浅入深,走进Python装饰器-----第一篇:基础 装饰器的使用种类: # 第一种 @函数 被装饰函数 # 第二种 @函数 被装饰类 # 第三种 @类 被装饰类 # 第四种 @函数 被装饰函数 本篇介绍第一种 @函数 被装饰函数 1.1 对带参数的原函数进行修饰 # 默认将old函数的参数传给outer里面的第一层函数 def outer(f): def inner(var): print("1 我是outer函数,接收外部传进来的old :",f) print("

Python之路(第二十六篇) 面向对象进阶:内置方法

一.__getattribute__ object.__getattribute__(self, name) 无条件被调用,通过实例访问属性.如果class中定义了__getattr__(),则__getattr__()不会被调用(除非显示调用或引发AttributeError异常) class Foo: ? def __init__(self,x): self.x = x ? def __getattr__(self, item): print("执行__getattr__") ?

【Python之旅】第六篇(四):Python多线程锁

    在多线程程序执行过程中,为什么需要给一些线程加锁以及如何加锁,下面就来说一说. 1.给线程加锁的原因 我们知道,不同进程之间的内存空间数据是不能够共享的,试想一下,如果可以随意共享,谈何安全?但是一个进程中的多个线程是可以共享这个进程的内存空间中的数据的,比如多个线程可以同时调用某一内存空间中的某些数据(只是调用,没有做修改). 试想一下,在某一进程中,内存空间中存有一个变量对象的值为num=8,假如某一时刻有多个线程需要同时使用这个对象,出于这些线程要实现不同功能的需要,线程A需要将n

【Python之旅】第六篇(六):Python多进程使用

关于进程与线程的对比,下面的解释非常好的说明了这两者的区别: 这里主要说明关于Python多进程的下面几点: 1.多进程的使用方法 2.进程间的通信 3.Python进程池 (1)比较简单的例子 (2)多个进程多次并发的情况 (3)验证apply.async方法是非阻塞的 (4)验证apply.async中的get()方法是阻塞的 1.多进程的使用方法 直接给出下面程序代码及注释: from multiprocessing import Process    #从多进程模块中导入Process

【Python之旅】第六篇(七):开发简易主机批量管理工具

通过前面对Paramiko模块的学习与使用,以及Python中多线程与多进程的了解,依此,就可以开发简易的主机批量管理工具了. 显然批量管理主机时,程序如果能并发执行功能是最好的,因为这样可以最大程度地利用CPU的性能,因此这就需要使用Python多线程或者多进程,基于学习的需要,这里主要使用多进程来进行开发,当然,这会存在一定问题,后面会说. 主要内容如下: 1.主机批量管理工具功能 2.设计框架 3.实现:数据库信息与程序源代码 4.实战演示 5.程序的不足 6.在写程序过程中的经验教训 7

Python开发【第二篇】:初识Python

Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第四!!!   Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几乎所有大中型互联网企业都

Python自动化 【第二篇】:Python基础-列表、元组、字典

本节内容 模块初识 .pyc简介 数据类型初识 数据运算 列表.元组操作 字符串操作 字典操作 集合操作 字符编码与转码 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,让我们先来象征性的学2个简单的. sys 1 #!/usr/bin/env python 2 3 # -*- coding: utf-8 -*- 4 5 6 7 import sys 8 9 10 11 print(sys.argv) 12 13

Python之旅 (基础篇1-22)

格式化输出:format  %s  %d 第一种写法: #name=input('name:') #age=input('age:') #job=input('job:') #info=''' #name:%s #age:%s #job:%s #'''%(name,age,job) #print (info) #name=input ('请输入名字:') #age=input ('请输入年龄:') #score=input ('请输入成绩:') #mag ='我叫%s,我今年%s,我成绩是优秀%

Python 语言学习 第二篇:数据类型(字符串)

字符串是一个有序的字符的不可变序列,用于存储基于文本的信息.字符串所包含的字符存在从左至右的位置顺序,不可以在原处(in-place)修改.Python没有C语言的字符和字符串之分,只有字符串.从严格意义上说,字符串是单个字符的序列,支持元素基于位置的操作,能够通过位置索引字符:由于字符串具有不可变性,不能对原始的字符串进行修改,也就是说,不能通过对其某一位置进行赋值而修改字符串. 一,字符串常量 字符串常量使用成对的单引号或双引号来表示,两者表示的效果是一样的. 1,在字符串常量中表示引号 如