从Python中的字典值访问字符串
问题描述:
我想写一个理解,给定两个字典(f,g),将返回一个字典,其中的键是f的键,并且其值是相应键的f值g的价值。例如,给定:从Python中的字典值访问字符串
f = {0: 'a', 1: 'b'}
g = {'a': 'apple', 'b': 'banana'}
my_function_composition(f, g) #returns {0: 'apple', 1: 'banana'}
我由于某种原因,理解只输出字符串
#output: {0: 'e', 1: 'a'}
这里的一个人物是我的函数:
def my_function_composition(f, g):
return {key: value for key in f for value in g[f[key]]}
为什么Python的回归似乎什么是值字符串的最后一个字符,而不是整个字符串?
答
你可以这样说:
def my_function_composition(f, g):
return {key: g[value] for key, value in f.items()}
为了更安全,你可以使用g.get(value, 0)
万一g
不具有键,你要像0
的默认值。
如果只需要g
字典中的f
值,则可以为value
添加额外的检查。
def my_function_composition(f, g):
return {key: g[value] for key, value in f.items() if value in g}
+0
在发布我的解决方案之前没有看到这个 –
答
def my_function_composition(f, g):
return {key1: value2 for key1, value1 in f for key2, value2 in g if value1==key2}
答
{key : g.get(f[key], None) for key in f}
既蟒蛇3和2
注意它是如何在最后* *字符兼容,想想什么'在G值[F [关键]'手段。 – jonrsharpe