为了账号安全,请及时绑定邮箱和手机立即绑定

L = [ x**2 for (x,y) in zip(xl,yl) if y > 10] 这个表达式看不懂啊。。。

xl = [1,3,5]
yl = [9,12,13]
L  = [ x**2 for (x,y) in zip(xl,yl) if y > 10]

输出是[9,25]

zip是将两个元组的变量提取出来,if是指y>10成立才放进zip中,

这样理解有问题吗?

查了很多说明,还是不懂啊。。

正在回答

1 回答

zip(xl,yl)的结果为[(1,9),(3,12),(5,13)],

for循环遍历zip(xl,yl)的结果,并赋给(x,y),

每一次迭代都进行if判断,当y>10时,把x**2的结果记录到L[]中。

所以,y>10的有(3,12)和(5,13),取出其中的x值3和5,求平方后放入L[],就得到[9,25]

1 回复 有任何疑惑可以回复我~
#1

总有狗头要害朕 提问者

谢谢,醍醐灌顶
2016-11-08 回复 有任何疑惑可以回复我~
#2

慕粉2223462313

这是哪里来的。。。怎么和课程一点关系也没有
2017-03-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

L = [ x**2 for (x,y) in zip(xl,yl) if y > 10] 这个表达式看不懂啊。。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信