python 列表推导式

最近在testerhome看别人写的接口框架,发现很多用到列表推导式,就在网上查了一下

列表推导式格式:newList=[x*2 for x in list if ****],list表示要循环的列表,for循环迭代list,if表示筛选条件,可以多个if条件是且的关系。把满足的值赋给for循环前面的用于生成新的列表,对于原来的列表无影响所以需要赋给新的变量。

例子1:

>>> list=[1,2,3,4,5,6,7,8]

>>> new_list=[x*2 for x in list ]

>>> print new_list

[2, 4, 6, 8, 10, 12, 14, 16]

这个最简单的把list所有的参数乘以2

例子2:

>>> list=[1,2,3,4,5,6,7,8]

>>> new_list1=[x*x for x in list if x%2==0]

>>> print new_list1

[4, 16, 36, 64]

相对于例子1,增加一个if语句把可以被2整除的值取出来

例子3:

>>> list=[1,2,3,4,5,6,7,8]

>>> new_list2=[x*x for x in list if x%2==0 if x>5]

>>> print new_list2

[36, 64]

多增加了一个if语句

列子4:

>>> list_x=[1,2,3]

>>> list_y=['a','b','c']

>>> new_list3=[[x,y]for x,y in zip(list_x,list_y)]

>>> print new_list3

[[1, 'a'], [2, 'b'], [3, 'c']]

>>> print "zip(list_x,list_y):",zip(list_x,list_y)

zip(list_x,list_y): [(1, 'a'), (2, 'b'), (3, 'c')]

一共2个list,使用zip()函数把2个合并成一个,可以使用列表推到变成zip()后的元组变成列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值