Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 列表索引给出错误的值?_Python_List_For Loop_Finance - Fatal编程技术网

Python 列表索引给出错误的值?

Python 列表索引给出错误的值?,python,list,for-loop,finance,Python,List,For Loop,Finance,输出: 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) print(symbol_name[1], today_price) import stockquo

输出:

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)
    
print(symbol_name[1], today_price)
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'])
但当我试图通过列表的索引获取XOM的报价时,我得到的是GLD的报价

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

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)
    
print(symbol_name[1], today_price)
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'])

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

将价格保存在字典中。然后通过
符号名
访问

XOM 182.24
输出:

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)
    
print(symbol_name[1], today_price)
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'])

每次通过循环,您都会覆盖
今天的\u price
。循环完成后,它有最后一个价格。
今天\u价格不是一个列表,您没有索引它。您了解变量是如何工作的吗?为什么你认为今天的
价格
的值会根据你正在打印的
符号
的索引而变化?制作一个将股票代码映射到价格的字典。字典!明白了,谢谢