21天学通python——第三天

来源:互联网 发布:智明创发软件待遇 编辑:程序博客网 时间:2024/06/07 04:12

for语句与内置迭代函数

enumerate(seq)编号迭代;既返回元素在序列中的序号,也返回元素的内容

for i,item in enumerate('abcd'):

print '第%d个字符是: %s' %(i,item)   ##  i 是返回的序号,从0开始

sorted(seq)排序迭代,将列表中的元素按照小大顺序先后输出


reversed(seq) 反转迭代


zip(seq1,seq2,……)  并行迭代

lsta=(1,2)

lstb=(3,4)

lstc=(5,6,7)

for i,j,k in zip(lsta,lstb,lstc):

print ('%d:%d:%d; %(i,j,k))

并行迭代中对于序列值不一样长的,遍历到最短序列长度


推导或内涵

列表的推导: [<i 相关表达式> for i in aitherator ]  aiterate 指向一个可遍历的对象

例:square=[i**i for i in range(1,11)]

字典推导例子:

adct=[k:v for k,v in zip(keys,values) ]   zip()用作并行迭代


推导进阶:

square_odd=[i**i for i in range(1,11) if i**i %2 ==1]    ##添加if语句来对返回的迭代变量进行限制






原创粉丝点击