繁体   English   中英

访问python字典

[英]accessing python dictionary

我正在编写代码,将在Twitter上搜索关键词并将它们存储在python词典中:

        base_url = 'http://search.twitter.com/search.json?rpp=100&q=4sq.com/'
        query = '7bOHRP'
        url_string = base_url + query
        logging.info("url string = " + url_string)
        json_text = fetch(url_string)
        json_response = simplejson.loads(json_text.content)                                              
        result = json_response['results']
        print "Contents"
        print result

结果字典是:

Contents[{
    u 'iso_language_code': u 'en',
    u 'text': u "I'm at Cafe en Seine (40 Dawson Street, Dublin) w/ 2 others. http://4sq.com/7bOHRP",
    u 'created_at': u 'Wed, 06 Oct 2010 23:37:02 +0000',
    u 'profile_image_url': u 'http://a1.twimg.com/profile_images/573130785/twitterProfilePhoto_normal.jpg',
    u 'source': u '<a href="http://foursquare.com" rel="nofollow">foursquare</a>',
    u 'place': {
        u 'type': u 'neighborhood',
        u 'id': u '898cf727ca504e96',
        u 'full_name': u 'Mansion House B, Dublin'
    },
    u 'from_user': u 'pkerssemakers',
    u 'from_user_id': 60241195,
    u 'to_user_id': None,
    u 'geo': None,
    u 'id': 26597357992,
    u 'metadata': {
        u 'result_type': u 'recent'
    }
}]
Status: 200 OK
Content - Type: text / html;charset = utf - 8
Cache - Control: no - cache
Expires: Fri, 01 Jan 1990 00: 00: 00 GMT
Content - Length: 0

如何访问'from_user'以及键和值之前的'u'是什么?

result[0][u'from_user']

u前缀意味着它是unicode而不是str

您访问项目ala

print Contents['from_user']

字符串前面的“u”表示该字符串是uni-code。

请注意,在Python 3.x中,您不需要字符串之前的'u',因为所有字符串都是unicode对象...

这也可以在Python 2.x中获得,只需放在代码的顶部即可

from __future__ import unicode_literals

由于返回的项目是包含字典的列表,您将执行以下操作:

print Contents[0]['from_user']

你是unicode,当你访问数据时你不需要提到它。 Python负责这一点。

由于返回的数据本身在字典中,因此最终的语句将是

print result['Contents'][0]['from_user']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM