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++,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM