如何使用python类中的列表创建字典?

时间:2017-12-04 14:48:33

标签: python class dictionary

我正在尝试创建一个投资组合类。我想将我的两个列表压缩成字典但是当我尝试将其打印出来时,它是空的(即使我的列表不是)。我错过了什么吗?

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()

1 个答案:

答案 0 :(得分:3)

您只使用空列表创建一次字典。如果你想让它保持最新,那么在列表的每个扩展名之后(在AddStock的末尾)放置那行代码,并将这个字典保存为self的属性,就像

self.stocks = dict(zip(self.array_of_stock_names, self.array_of_stock_prices))