Twitter API为这样的实体吐出列表:
[{'expanded_url': 'http://twitter.com/voxdotcom/status/458708072131592194/photo/1', 'display_url': 'pic.twitter.com/uc3j0nU8uf', 'url': 'http://t.co/uc3j0nU8uf', 'media_url_https': 'https://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png', 'id_str': '458708071875764224', 'sizes': {'small': {'h': 256, 'resize': 'fit', 'w': 340}, 'large': {'h': 773, 'resize': 'fit', 'w': 1023}, 'medium': {'h': 453, 'resize': 'fit', 'w': 599}, 'thumb': {'h': 150, 'resize': 'crop', 'w': 150}}, 'indices': [88, 110], 'type': 'photo', 'id': 458708071875764224, 'media_url': 'http://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png'}]
它看起来像一本字典,但它实际上是一个列表。精氨酸。
如何访问特定条目?例如,如果我想要expanded_url值,获得它的最佳方法是什么?
感谢。
*感谢您的快速回复。
答案 0 :(得分:2)
将位置0
的列表编入索引以获取字典:
>>> lst = [{'expanded_url': 'http://twitter.com/voxdotcom/status/458708072131592194/photo/1', 'display_url': 'pic.twitter.com/uc3j0nU8uf', 'url': 'http://t.co/uc3j0nU8uf', 'media_url_https': 'https://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png', 'id_str': '458708071875764224', 'sizes': {'small': {'h': 256, 'resize': 'fit', 'w': 340}, 'large': {'h': 773, 'resize': 'fit', 'w': 1023}, 'medium': {'h': 453, 'resize': 'fit', 'w': 599}, 'thumb': {'h': 150, 'resize': 'crop', 'w': 150}}, 'indices': [88, 110], 'type': 'photo', 'id': 458708071875764224, 'media_url': 'http://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png'}]
>>> lst[0]["expanded_url"]
'http://twitter.com/voxdotcom/status/458708072131592194/photo/1'
>>>
答案 1 :(得分:1)
你得到的是list
里面有一个字典项目。通过0
索引获取字典:
>>> data = [{'expanded_url': 'http://twitter.com/voxdotcom/status/458708072131592194/photo/1', 'display_url': 'pic.twitter.com/uc3j0nU8uf', 'url': 'http://t.co/uc3j0nU8uf', 'media_url_https': 'https://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png', 'id_str': '458708071875764224', 'sizes': {'small': {'h': 256, 'resize': 'fit', 'w': 340}, 'large': {'h': 773, 'resize': 'fit', 'w': 1023}, 'medium': {'h': 453, 'resize': 'fit', 'w': 599}, 'thumb': {'h': 150, 'resize': 'crop', 'w': 150}}, 'indices': [88, 110], 'type': 'photo', 'id': 458708071875764224, 'media_url': 'http://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png'}]
>>> type(data)
<type 'list'>
>>> type(data[0])
<type 'dict'>
>>> data[0]['expanded_url']
'http://twitter.com/voxdotcom/status/458708072131592194/photo/1'
作为旁注,使用pprint
进行漂亮打印有助于查看数据结构包含的内容:
>>> from pprint import pprint
>>> pprint(data)
[{'display_url': 'pic.twitter.com/uc3j0nU8uf',
'expanded_url': 'http://twitter.com/voxdotcom/status/458708072131592194/photo/1',
'id': 458708071875764224,
'id_str': '458708071875764224',
'indices': [88, 110],
'media_url': 'http://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png',
'media_url_https': 'https://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png',
'sizes': {'large': {'h': 773, 'resize': 'fit', 'w': 1023},
'medium': {'h': 453, 'resize': 'fit', 'w': 599},
'small': {'h': 256, 'resize': 'fit', 'w': 340},
'thumb': {'h': 150, 'resize': 'crop', 'w': 150}},
'type': 'photo',
'url': 'http://t.co/uc3j0nU8uf'}]
答案 2 :(得分:1)
看起来你得到的是JSON解析为python对象。仔细观察 - 你所拥有的是一个只包含一个元素的列表。
>>> len([{'expanded_url': 'http://twitter.com/voxdotcom/status/458708072131592194/photo/1', 'display_url': 'pic.twitter.com/uc3j0nU8uf', 'url': 'http://t.co/uc3j0nU8uf', 'media_url_https': 'https://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png', 'id_str': '458708071875764224', 'sizes': {'small': {'h': 256, 'resize': 'fit', 'w': 340}, 'large': {'h': 773, 'resize': 'fit', 'w': 1023}, 'medium': {'h': 453, 'resize': 'fit', 'w': 599}, 'thumb': {'h': 150, 'resize': 'crop', 'w': 150}}, 'indices': [88, 110], 'type': 'photo', 'id': 458708071875764224, 'media_url': 'http://pbs.twimg.com/media/Bl2oj5_CYAAO72v.png'}])
1
所以你需要做的就是取出第一个元素,这就是你想要的东西。如果您正在调用此内容my_data
,那么您需要my_data[0]
。这将是字典,您可以像往常一样访问其中的元素。