【问题标题】:List index giving wrong value?列出索引给出错误的值?
【发布时间】:2020-08-20 06:41:51
【问题描述】:
import stockquotes
 

symbol_name = ['SPY', 'XOM', 'GLD']
for x in symbol_name:
    ticker = stockquotes.Stock(x)
    today_price = ticker.current_price
    print(x, 'Quote: ',today_price)
    

输出:

SPY Quote:  337.13
XOM Quote:  41.96
GLD Quote:  182.24

但是当我尝试通过列表的索引获取 XOM 的报价时,我得到的是 GLD 的报价。

print(symbol_name[1], today_price)

输出:

XOM 182.24

对如何手动访问每个报价有什么想法吗?

【问题讨论】:

  • 您每次循环都会覆盖today_price。循环完成后,它具有最后的价格。
  • today_price 不是列表,您没有将其编入索引。
  • 你了解变量的工作原理吗?为什么您认为today_price 的值会根据您正在打印的symbol_name 的索引而改变?
  • 制作一个将股票代码映射到价格的字典。
  • 字典!明白了,谢谢

标签: python list for-loop finance


【解决方案1】:

将价格保存在字典中。然后通过symbol name访问。

import stockquotes
 

symbol_name = ['SPY', 'XOM', 'GLD']
data = {}
for x in symbol_name:
    ticker = stockquotes.Stock(x)
    today_price = ticker.current_price
    data[x] = today_price

print(data['XOM'])

输出:

41.96

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多