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

关于zip问拜托大神

 print[x*y for x,y in zip(range(1,100,2),range(2,101,2)]

这里面zip把两个list合成一个list然后x取第一个元素,y取第二个元素……一直交替取下去么?

正在回答

5 回答

L1=range(1,100,2)

L2=range(2,101,2)

L3=[]

for x,y in zip(L1,L2):

    L3.append(x*y)

print L3

这个结果正确

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

后面漏了一个)

正确

print [x*y for x,y in zip(range(1,100,2),range(2,101,2))]

是的,运行正确

也可以

print [x[0]*x[1] for x in zip(range(1,100,2),range(2,101,2))]

因为先zip把range(1,100,2),range(2,101,2) 合成了[(1,2),(3,4)....(99,100)]


0 回复 有任何疑惑可以回复我~

IndentationError: unexpected indent  (hi~!老兄,你的格式有问题呀)

zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原有序列中对应序号位置的元素,然后返回由这些tuples组成的list。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。在所有参数长度相同的情况下,zip()与map()类似,没有参数的情况下zip()返回一个空list。


zip完事tuple不能进行四则运算


0 回复 有任何疑惑可以回复我~

大佬,你的这个运行不了

0 回复 有任何疑惑可以回复我~

是这样的

0 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

关于zip问拜托大神

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