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

编写函数组合程序的更优雅的方式?

编写函数组合程序的更优雅的方式?

慕村225694 2021-05-12 09:01:06
我试图解决以下问题:my_function_composition(f,g)输入:两个函数f和g,用字典表示,因此存在g◦f。输出:代表函数g◦f的字典。示例:给定f = {0:'a',1:'b'}并且g = {'a':'apple','b':'banana'},返回{0:'apple',1:'香蕉'}。我找到了一个解决方案,但对我来说却很混乱:def my_function_composition(f,g): return {list(f.keys())[i]: list(g.values())[i] for i in f if list(f.values()) == list(g.keys())}# example/testw = {0:'a', 1:'b', 2: 'c'}v = {'a': 'apple', 'b':'banana', 'c': 'carrot'}my_function_composition(w,v)根据这本书,下一节将介绍循环问题,因此,我认为对此有一个优雅的单线解决方案。注意:如果能为您的解决方案提供评论,我将不胜感激,因为我是python的新手
查看完整描述

2 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您可以使用dict理解:

d = {k: g[v] for k, v in f.items()}

d 变成:

{0: 'apple', 1: 'banana'}


查看完整回答
反对 回复 2021-05-25
  • 2 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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