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

如何将函数返回来的两个参数map到一个接受两个参数的函数

如何将函数返回来的两个参数map到一个接受两个参数的函数

慕少森 2019-04-09 20:25:04
多个参数应该同理。Python,一个函数叫做iter_list,每次yield列表中的两项,如果列表是单数项的,返回的是最后一项和一个空列表,其实我就是在练习写归并排序。。一个函数叫做merge_two_list(list1,list2),接受两个参数。。。list_splited=range(100)temp=[]#fori,jiniter_list(list_splited):#temp.append(merge_two_list(i,j))temp=map(merge_two_list,iter_list(list_splited))#Whycan'tmap?#注释掉的那段就可以工作,当然注释这段还可以写成:foriiniter_list(list_splited):temp.append(merge_two_list(*i))stackverflow上介绍了当两个参数有一个为固定的时候的做法。。http://stackoverflow.com/questions/10834960/how-to-do-multiple-arguments-to-map-function-where-one-remains-the-same-in-pytho显然他可以使用functools.partial。。或者itertool.repeat。。。但是我这种情况不给力啊。。强行使用map是希望往后可以多进程map。。。。
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超7个赞

额。。。自己解决了一个方案:
map(lambdax:merge_two_list(*x),iter_list(list_splited))
                            
查看完整回答
反对 回复 2019-04-09
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

想简单点直接列表推断吧,不然利用numpy的序列化函数,numpy.vectorize将函数变成序列化对象,这对于多个参数的函数的表现与map不同,就你这个问题是可行的。
                            
查看完整回答
反对 回复 2019-04-09
  • 2 回答
  • 0 关注
  • 385 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号