极客编程python入门 | 您所在的位置:网站首页 › 极客入门 › 极客编程python入门 |
迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。 如何判断一个对象是可迭代对象集合数据类型,如list、tuple、dict、set、str等 方法是通过collections.abc模块的Iterable类型判断 >>> from collections.abc import Iterable>>> isinstance('abc', Iterable) # str是否可迭代True>>> isinstance([1,2,3], Iterable) # list是否可迭代True>>> isinstance(123, Iterable) # 整数是否可迭代False只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代: >>> d = {'a': 1, 'b': 2, 'c': 3}>>> for key in d:... print(key)...acb默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()。 引用了两个变量,在Python里是很常见的 >>> for x, y in [(1, 1), (2, 4), (3, 9)]:... print(x, y)...1 12 43 9使用迭代查找一个list中最小和最大值,并返回一个tuple: def findMinAndMax(al): if len(al) == 0: return (None, None)min = al[0] max = al[0] for e in al: if max e: min = e return (min, max) # 测试if findMinAndMax([]) != (None, None): print('测试失败!')elif findMinAndMax([7]) != (7, 7): print('测试失败!')elif findMinAndMax([7, 1]) != (1, 7): print('测试失败!')elif findMinAndMax([7, 1, 3, 9, 5]) != (1, 9): print('测试失败!')else: print('测试成功!') |
CopyRight 2018-2019 实验室设备网 版权所有 |