用for in 遍历tuple,list的操作叫做迭代
java和C之类的语言一般用下标来遍历,python直接遍历,用for……in
对于 Python的for循环抽象程度要高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在字符串等其他可迭代对象上。
dict默认迭代是key用的是for key in d, 如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()。
练习题:
请使用迭代查找一个list中最小和最大值,并返回一个tuple:
def findMinAndMax(L):
if L:
tempmax=tempmin=L[0]
for v in L:
if v>tempmax:
tempmax=v
if v<tempmin:
tempmin=v
return (tempmin,tempmax)
else:
return (None, None)
if findMinAndMax([]) != (None, None):
print('测试失败1!')
elif findMinAndMax([7]) != (7, 7):
print('测试失败2!')
elif findMinAndMax([7, 1]) != (1, 7):
print('测试失败3!')
elif findMinAndMax([7, 1, 3, 9, 5]) != (1, 9):
print('测试失败4!')
else:
print('测试成功!')