Python如何仅通过字典推导式实现字典值按比例转换
问题排查
你写的字典推导式逻辑错误点:直接对字典做for i in d遍历的时候,循环变量i取到的是字典的键(也就是"mango"、"apple"这类字符串值),并非你要计算的数值,自然无法得到正确计算结果。
正确实现
遍历字典时调用items()方法同时拿到键和值,保留原键、对值做乘0.7取整的计算即可,仅用字典推导式的实现代码如下:
d = {"mango":50,"apple":100,"banana":70} # 输入字典 f = {key: int(val * 0.7) for key, val in d.items()}
运行结果
执行上述代码后,f的输出和预期完全一致:
{"mango":35,"apple":70,"banana":49}
内容的提问来源于stack exchange,提问作者shivam
相关产品推荐
相关产品推荐

