Python的高级特征(二)——迭代

来源:互联网 发布:男人喜欢被舔么 知乎 编辑:程序博客网 时间:2024/06/05 08:40

一、迭代
我相信在看我这个文章还有好多人不是很清楚迭代到底是什么意思,这个你就要自己百度了!
在Python中迭代都是由for…in…来完成,也就是任何可迭代的对象都可以用for循环,包括我们自己定义的数据类型只要是符合迭代的条件的都可以。
那么我们下面来看一下到底怎么样的数据类型符合是迭代形式的呢
1、list,tuple和str是的

s='abcd'for x in s:    print(x) #a\nb\nc\nd

2、dict类型也可以
想迭代的输出dict里面的key,value,或是key—value。形式是不一样的:
直接用代码说明
d={'a':1,'b':4,'c':'e',2:3}
for x in *d* #取key值 a c b 2
for y in *d.values()* #取value值 4 1 e 3
for g,h in *d.items()* #两个一起取 ('b',4) ('a',1) ('c','e') (2,3)

**注意:dict中的元素并不是按顺序存储的,所以取出来
并不是按{}里面的顺序取出来的**
3、要判断一个数据类型是不是一个可迭代的对象
可以用collections模块中的Iterable类型来判断
Iterable是一种类型,表示的是所有可以迭代的对象
如果你要判断一个对象是不是一个可迭代的类型用类型比较函数就可以了,例:

from collertions import Iterable
isinstance(s,Iterable)
True #False
**isinstance是Python的内建函数,用来判断变量
的类型,具体用法自己百度/////////
附加内容:
一个函数enumerate函数
1、简介:enumerate函数是Python库的一个内建函数,功能是将一个可迭代\可遍历的对象,组成一个索引序列。就是这个序列中含有对象值和相对应的索引值
2、一般形式:enumerate(Iterable,a)
两个参数:Iterable参数代表可迭代\可遍历的对象
a参数是索引的起始值,a值可以省略(这时其默认值为零)
3、例子说明:

>>>s='abc'>>>for x,y in enumerate(s,1):            print(x,y)  #1 a                         2 b                         3 c>>>for x,y in enumerate(s)            print(x,y)   #0 a                          1 b                          2 c

这是关于迭代的内容,内容完全是原创的,有错谢谢你私信给我纠正!

原创粉丝点击