Python 高级特性 : 迭代
本文所有代码均在IDLE中实现
如果你对我的文章有任何建议和意见,请写到评论区里
给定一个 list,我们利用 for 循环的形式对其经行遍历,这种方式, 我们称为 迭代
在c语言,或 Java中,通过下标的方式来完成迭代
for (i=0;i<=lengh(list);i++) ## c++中遍历字符串
{
cout<< list[i];
}
在python中, for .. in ..
循环,明显比c,java中的抽象程度更高 。只要是可以迭代的对象,在python中均可以进行迭代,而不仅仅局限于拥有下标的对象。
list 迭代
>>> for i in list : ##将list作为迭代对象
print i
----------
1
2
qwe
3
asd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#当我们在迭代时需要list表现成 K-V 对应的形式,要怎么办那?
#python中内置了enumerate函数可以把一个list变成K-V模式。
>>> for k,v in enumerate(list) :
print k,v
----------
0 1
1 2
2 qwe
3 3
4 asd
字典迭代
>>> dict = {1:'qwe',2:'asd',3:'cvsdefasd'}
>>> dict
{1: 'qwe', 2: 'asd', 3: 'cvsdefasd'}
##直接迭代字典
>>> for i in dict : #迭代dict时,默认迭代字典的 key
print i
----------
1
2
3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
##当希望使用 value 作为迭代对象时,要使用 itervalues()
>>> for i in dict.itervalues() :
print i
----------
qwe
asd
cvsdefasd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
##当希望同时迭代字典的 key 与 values 时,初始化两个迭代变量即可
>>> for k,v in dict.iteritems() :
print k,v
----------
1 qwe
2 asd
3 cvsdefasd
字符串迭代
>>> for i in str :
print i
----------
w
h
a
t