#自学Python的学习笔记
概览
如果给定一个list或tuple,我们可以通过for循环进行遍历这个list或tuple,这种遍历我们称之为迭代(lteration)
只要是可迭代对象,无论有无下标都可以迭代,比如:dict、str、generator(生成器)
在python中,迭代是通过for ... in来完成
1.1、 字典的迭代
默认情况下,dict迭代是key。
# 定义一个字典
d = {'a':1, 'b':2, 'c':3}
# 迭代字典的key
for key in d:
# 迭代字典的value
for
value in d.values():
#迭代键值对
for k, v in d.items()
1.2、字符串的迭代
for ch in 'ABC'
1.3 list迭代
#定义一个list
L = [1, 2, 3]
迭代list的下标
for i in L:
print(L.index(i))
迭代list的值
for i in L:
print(i)
当我们使用for循环时,只要作用于一个可迭代对象,for循环就可以正常运行
通过collections模块的的 Iterable类型判断一个对象是否是可迭代对象:
# 判断对象是否是可迭代对象 from collections.abc import Iterable I = isinstance(123, Iterable) print(I)
对list实现下标循环:Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身
for i, value in enumerate(['A', 'B', 'C']): print(i, value)
两个变量的迭代:
#两个变量的迭代 for x, y in [(1,2), (3, 4), (5, 6)]: print(x, y)
作业:
请使用迭代查找一个list中最小和最大值,并返回一个tuple:
#请使用迭代查找一个list中最小和最大值,并返回一个tu def findMinAndMax(L): if len(L) == 0: return (None, None) Min = L[0] Max = L[0] for value in L: if value < Min: Min = value if value > Max: Max = value return (Max, Min) L = [9,8,4,6,5,1] print(findMinAndMax(L))