#遍历一个序列,很多传统语言过来的,习惯用下标遍历,Python中序列是可迭代的,直接for即可!
colors=['red','green','blue','yellow']
for color in colors:
print color
#遍历倒序,用range的负数来遍历,不如直接反转遍历
for color in reversed((colors):
print (color)
#zip真的不错,尤其是处理2个序列非常简洁,遍历2个collection
names=['loe','lili','sam']
colors=['red','green','blue','yellow']
for name,color in zip(names,colors):
print (name,'---->',color)
#遍历排序的序列,sorted这个函数非常重要
colors=['red','green','blue','yellow']
for color in sorted(colors,reverse=True):
print (color)
#自定义排序,排序是一个时时刻刻都遇到的文章,有列表排序,字典排序,排序里面的key用法很重要,甚至自定义一些函数去处理
colors=['red','green','blue','yellow']
print (sorted(colors,key=len))
#遍历文件遇到指定字符退出,iter是一个内置函数用来生产迭代器,partial的不断的读入文件中32字节,注意iter引入第二个参数,表示当读入的内容是''的时候,会触发生成器stop
blocks=[]
if block in iter(partial(read,32),''):
blocks.append(blocks)
#字典的循环
d={'apple':'red','banana':'yellow','peach':'pink'}
for k in d:
print (k)
for k in d.keys():
if k.startswith('a'):
del d[k]
#字典的统计,巧妙的利用字典的get用法,取不到value的时候用缺省值0
colors=['red','green','blue','yellow','red','green']
d={}
for color in colors:
d[color]=d.get(color,0)+1
#展开序列,要学会利用tuple展开,会更快更好,而且很多源码都是这样处理的
p=['Leo','Xin','30','Coder']
fname,lname,age,email=p
#交换变量,让我想起来的冒泡排序,交换变量,Python可以直接在一行中交换
def fibonacci(n):
x,y=0,1
for i in range(n):
print x
x, y = y, x+y
#更新序列
names=['raymond','rachel','matthew','roger','betty','melisa','judith','charlie']
import collections
names=collections.deque(['raymond','rachel','matthew','roger','betty','melisa','judith','charlie'])
del names[0]
names.popleft()
names.appdenleft('mark')