2017-01-18 1 views
0

АНИ вызовпечати один элемент из апи под названием словаря в Python

from rtstock.stock import Stock 
stock = Stock('AAPL') 
data = stock.get_latest_price() 
print(data) 

yeilds

[{'LastTradeTime': '2:54pm', 'LastTradePriceOnly': '119.855'}] 

Я пытаюсь напечатать 119.855 без какого-либо апострофа с помощью

from rtstock.stock import Stock 
stock = Stock('AAPL') 
data = stock.get_latest_price() 
print(data['LastTradePriceOnly']) 

и я получаю сообщение об ошибке

print(data['LastTradePriceOnly']) 
TypeError: list indices must be integers or slices, not str 

Любая помощь приветствуется, спасибо!

+2

Обратите внимание на данные, которые вы хотите получить на самом деле из словаря внутри списка. Сначала извлеките dict, вызвав данные [0], затем получите нужное значение, вызвав данные [0] ['LastTradePriceOnly']. –

ответ

3

данных представляет собой список, содержащий один словарь:

data = [{'LastTradeTime': '2:54pm', 'LastTradePriceOnly': '119.855'}] 

print(data)  # list containing a dictionary 
print(data[0]) # the dictionary 
print(data[0]['LastTradePriceOnly']) # 119.855 
+0

отлично работает, спасибо за объяснение, а :) –