python学习 廖雪峰老师 --(迭代)

如果有给定的List和tuple,用for循环来遍历这个list或者tuple。叫做迭代。
在Python中,可迭代的定义比C和Java中要更广泛。
不仅是list,tuple,在python中,dict和字符串也是可以迭代的。
语法:for key in ‘ABC’

当我们要使用for循环的时候,只要对象是个可迭代对象,for循环就可以执行。
这时候,我们可以使用通过collections模块的Iterable类型来判断对象是否是个可迭代对象。

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

如果希望python对list使用Java一样的下标循环,可以使用Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:

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

练习
请使用迭代查找一个list中最小和最大值,并返回一个tuple:

def findMinAndMax(L):
   if L!=[]:
    max = L[0],
    min = L[0],
     for i in L:
      if max<L[i]:
       max = i
      if min>L[i]:
       min = i
    return (max,min)
 elsereturn(None,None)

猜你喜欢

转载自blog.csdn.net/sinat_41737742/article/details/82588317