我正在尝试创建一个投资组合类。我想将我的两个列表压缩成字典但是当我尝试将其打印出来时,它是空的(即使我的列表不是)。我错过了什么吗?
import numpy as np
class Portfolio(object):
"""description of class"""
array_of_stock_prices=[]
array_of_stock_names=[]
#create a dictionary of stocks
stocks=dict(zip(array_of_stock_names,array_of_stock_prices))
def __init__(self):
print()
def AddStock(self,stock_ticker,stock_price):
self.array_of_stock_names.append(stock_ticker)
self.array_of_stock_prices.append(stock_price)
def printObject(self):
for key,value in self.stocks.items():
print(key,value)
port1=Portfolio()
port1.AddStock('AApl',100)
port1.printObject()
答案 0 :(得分:3)
您只使用空列表创建一次字典。如果你想让它保持最新,那么在列表的每个扩展名之后(在AddStock
的末尾)放置那行代码,并将这个字典保存为self
的属性,就像
self.stocks = dict(zip(self.array_of_stock_names, self.array_of_stock_prices))