Python中的迭代和可迭代对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的迭代和可迭代对象相关的知识,希望对你有一定的参考价值。

什么是迭代(iteration)呢?

给定一个list或者tuple,通过for循环来遍历这个list或者tuple、这种遍历就是迭代(iteration)。只要是可迭代的对象都可以进行迭代、怎么判断一个对象是否是可迭代的对象呢?可以用collections模块里面的iterable包的isinstance函数进行判断:

>>> from collections import Iterable#载入模块
>>> isinstance(‘abc‘,Iterable) #字符串是可迭代对象吗?
True
>>> isinstance([1,2,3],Iterable) #list是可迭代对象吗?
True
>>> isinstance({‘dede‘:123},Iterable) #字典是可迭代对象吗?
True

对于字典的迭代:

>>> d={‘python‘:1,‘php‘:2,‘java‘:3}

#默认迭代的是key
>>> for i in d:
    print(i)
python
php
java


#自定义迭代key
>>> for key in d.keys():
    print(key)
python
php
java


#迭代value
>>> for value in d.values():
    print(value)
1
2
3


#同时迭代key,value
>>> for k , v in d.items():
    print(k,v)
python 1
php 2
java 3
>>>

怎样实现对列表和元组的下标循环呢?

两种方法:

#对于一个列表
lanage=[‘python‘,‘php‘,‘java‘,‘c++‘]

第一种:
for x in range(len(lanage)):
    print(x,lanage[x])

第二种:
for i ,value in enumerate(lanage):
    print(i,value)

#运行结果
0 python
1 php
2 java
3 c++


0 python
1 php
2 java
3 c++
>>>
#在同一行输出:
for i ,value in enumerate(lanage):
    print(i,value ,end=‘,‘)
结果:
0 python,1 php,2 java,3 c++,

以上是关于Python中的迭代和可迭代对象的主要内容,如果未能解决你的问题,请参考以下文章

python迭代器和可迭代对象

python迭代器和可迭代对象

python迭代器和可迭代对象

迭代器和可迭代协议

Python基础-16生成器-迭代器

Python基础-16生成器-迭代器