我在字典中有一个股票价格列表和它们的值列表。我想遍历列表以获取每天的股票值(value),但在使用变量访问数据时无法解析列表中的位置。
这是一个例子:
goog = [12,132,124,234,234]
msft = [432,23,234,54,23]
num_days = 5
stocks_i_own = {'goog':50, 'msft':50}
for days in range(0,num_days):
for stock in stocks_i_own:
print days, stock, stocks_i_own[stock]
print stock[days] #prints just 'g' not the value on day0
print 'vaue on ', days, ' is ', stock[days] * stocks_i_own[stock]
问题是当我使用 stock[days]
获取数据时。我知道 stock 有正确的值('goog' 或 'msft')并且 days 有正确的值(范围为 0-4),但是当一起使用它们时,我没有从列表中获取数据,而是从在这个词本身。这是有道理的,因为像这样:
name = 'google'
name[0]
会返回 g(在我的例子中是这样做的)但是有没有办法让 python 看不到我提供的字符串形式的内容,而是对列表的引用?
最佳答案
为什么不将当前列表存储为字典呢?
代替:
goog = [12, 132, 124, 234, 234]
msft = [432, 23, 234, 54, 23]
使用:
stock_vals = { 'goog': [12, 132, 124, 234, 234], 'msft': [432, 23, 234, 54, 23] }
现在您可以使用以下方法检索它们:
stock_vals[stock_name][day_index]
其中 stock_name 是 {'goog', 'msft', ...}
的一个元素,day_index 是一个元素
[0, 6]
。
关于python - 我可以使用可变字符串来引用列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11585921/