迭代(python笔记)

来源:互联网 发布:汽车刷ecu软件 编辑:程序博客网 时间:2024/06/05 21:03

Python 的 for循环不仅可以用在list或tuple上,还可以作用在其他任何可迭代对象上。

请用for循环迭代数列 1-100 并打印出7的倍数。

for i in range(101):    if(i%7==0):        print i,

索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。

L = ['Adam', 'Lisa', 'Bart', 'Paul']for index, name in enumerate(L):    print index+1, '-', name,

dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是 dict的每一个 value:

d = { ‘Adam’: 95, ‘Lisa’: 85, ‘Bart’: 59 }
print d.values()

# [85, 95, 59]

for v in d.values():
print v

# 85# 95# 59

给定一个dict:

d = { ‘Adam’: 95, ‘Lisa’: 85, ‘Bart’: 59, ‘Paul’: 74 }

请计算所有同学的平均分。

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }sum = 0.0for v in d.values():    sum += vprint sum/len(d)

Python中串联字符串的操作符有两个,一个是”+”, 一个是”,”, “+”不能用来串联非字符串,而”,”可以!而且”,”还会输出一个空格
可以看到,items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得key和value:

请根据dict:

d = { ‘Adam’: 95, ‘Lisa’: 85, ‘Bart’: 59, ‘Paul’: 74 }

打印出 name : score,最后再打印出平均分 average : score。

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }sum = 0.0for k, v in d.items():    sum = sum + v    print k, ':', v,print 'average', ':', sum/len(d),