我有:
market = {
"APPL" : 2.33 },
"IBM" : 3.44 },
"AMZN" : 5.33 }
}
portfolio = {
"APPL" : 0.20,
"IBM" : 0.05
}
我想将上述字典合并为一个具有以下结构的列表。它使用通用键进行乘法运算:
index 0: Multiplication of 2.33 and 0.20
index 1: Multiplication of 3.44 and 0.05
有什么想法吗?
答案 0 :(得分:0)
您可以像这样遍历投资组合的各个项目:
[value * market[key] for key, value in portfolio.items()]
或者,如果您想保留密钥,则:
{key: value * market[key] for key, value in portfolio.items()}
编辑:我想念你想要一个列表,而不是字典
答案 1 :(得分:0)
您可以使用列表推导,该列表推导遍历portfolio
的键并输出相应值的乘积:
[market[k] * v for k, v in portfolio.items()]
答案 2 :(得分:0)
您可以使用列表理解:
market = {
"APPL" : 2.33,
"IBM" : 3.44,
"AMZN" : 5.33 }
portfolio = {
"APPL" : 0.20,
"IBM" : 0.05
}
out = [value * market[key] for key, value in portfolio.items()]
print(out)
# [0.466, 0.17200000000000001]
但是请注意,仅从python 3.6开始才对字典进行排序,因此只能保证列表中值的顺序与这些版本的portfolio
字典中的项顺序匹配。