我试图解决以下问题: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'}
添加回答
举报
0/150
提交
取消