str,list,tuple有 dict,set无
字典的枚举:枚举只能返回返回两个值,一个是索引下标,一个是迭代的元素; for i,j in enumerate(l): print i,j,l[j] 怎么去判断是否可迭代 from collections import Iterable isinstance("hello",Iterable)
列表生成式,其实就是生成列表的一种方式,是python内置的;
简单的列表生成式 [ 2*i+1 for i in range(10) ] # 返回1-10的2n+1的一个列表;
[ fun(i) for i in l] # 对列表的每个元素执行某个函数操作; [k+”->”+v for k,v in d.items()] [i.upper() for i in l] l=[1,2,3,”hello”,”world”] [i.upper() for i in l if isinstance(i,str)]
for…if的嵌套 [ i for i in range(1,10) if i%2==0] # 返回1-10之间所有的偶数 [ i*i for i in range(1,10) if isprime(i)] # 返回1-10之间所有的质数的平方,判断质数的函数是自定义的;
for…for…的嵌套 [ i+j for i in “abc” for j in “123”] # 返回”abc”和”123”的所有组合;