我正在尝试在Python 2.7中构建业务数据分析应用程序的原型。代码是:
import urllib2
import json
url = 'http://dev.c0l.in:8888'
api = urllib2.urlopen(url)
data = json.load(api)
for item in data:
print item[{'sector':'technology'}]
它必须从API获取数据并仅打印出技术公司的名称。而不是我得到
Traceback (most recent call last):
File "C:\Users\gniteckm\Desktop\all2.py", line 9, in <module>
print item[{'sector':'technology'}]
TypeError: unhashable type: 'dict'
答案 0 :(得分:1)
您无法过滤词典;他们不接受询问。您将传递item
字典中实际存在的密钥,并且因为这是JSON,item
将只有字符串密钥。
您可以使用if
语句过滤特定的键值对:
for item in data:
if item['sector'] == 'technology':
print item
这假设item
中的所有data
词典都有一个'sector'
键。如果没有,请使用dict.get()
在缺少密钥时返回默认值:
for item in data:
if item.get('sector') == 'technology':
print item