python 迭代、Iterable(可迭代)对象的判断和内置函数enumerate的使用

参考:

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196435255fcca20a1630446ea2dd434a7176e152000


################################################


迭代:

python中,迭代是通过for...in...来完成的

python的for循环不仅可以用在list或tuple上,还可以作用于其他可迭代对象上


d=[1,2,3,4]
for key in d:
     print key
list迭代


d=(1,2,3,4)
for key in d:
      print key

tuple迭代



d={'a':1, 'b':2, 'c':3}
for key in d:
     print key

dict迭代


note:dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样


默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.itervalues(),如果要同时迭代key和value,可以用for k, v in d.iteritems()



d="ABCD"
for key in d:
     print key

字符串也是可迭代对象,也可以作用于for循环:



如果判断一个对象是否是可迭代对象,方法是通过collections模块的iterable类型判断:

from collections import Iterable
isinstance('abc', Iterable) #str是否可迭代
isinstance([1,2,3], Iterable) #list是否可迭代
isinstance(123, Iterable) #整数是否可迭代啊



python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身,从而对list实现类似java那样的下标循环

for i,value in enumerate(['A', 'B', 'C'])
     print i,value



打印二维数组,三位数组:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值