Python 列表推导式 一些小的古怪写法 if else for in join

来源:互联网 发布:centos解压rar 编辑:程序博客网 时间:2024/06/05 20:03
c = a if a>b else b    //如果a>b返回a,否则返回b>>> a = 1>>> b = 2>>> c = a if a>b else b>>> c2
c = [b,a][a>b]  //如果a>b返回a,否则返回b>>> a = 1>>> b = 2>>> c = [b,a][a>b]>>> c2
c = [ i for i in a if i%2==0 ]  //遍历a,在i为偶数时返回>>> a = [1,2,3]>>> c = [i for i in a if i%2==0]>>> c[2]注意当你用上述方式生成列表,但又不引用而只是作为临时参数时,为减少内存开销,应将sum( [ i for i in a if i%2==0 ] )改成sum( i for i in a if i%2==0 ),
生成集合:c = { i for i in a if i%2==0 }  //遍历a,在i为偶数时返回生成字典:c = { i:i**i for i in a if i%2==0 }  //遍历a,在i为偶数时返回
c = [i+j for i in a for j in b if i%2==0 and j%2==0]    //同时嵌套遍历列表a和b,返回i和j同时为偶数时的和。其中for in a属于外层嵌套,for in b属于内层>>> a = [1,2,3]>>> b = [4,5,6]>>> c = [i+j for i in a for j in b if i%2==0 and j%2==0]>>> c[6, 8]
c = [i if i%2==0 else 1 for i in a]  //遍历a,如果i为偶数直接返回,否则直接返回1。此处if写在for前面要求必须有else>>> a = [1,2,3]>>> c = [i if i%2==0 else 1 for i in a]>>> c[1, 2, 1]
a,b=b,a   //交换数据>>> a=1>>> b=2>>> a,b=b,a>>> a2>>> b1
''.join['1','2']  //字符list的连接>>> c = ''.join(['1','2'])>>> c'12'
1 0
原创粉丝点击