猿问

Python字典删除键

我从 Python 开始,现在卡住了。我必须从 .txt 中的长列表中获取关键的“文本”,例如:


{"delete":"status":"id":294512601600258048,"id_str":"294512601600258048","user_id":90681582,"user_id_str":"90681582"}, "timestamp_ms":"1410368494083"}}


{

    "created_at": "Wed Sep 10 17:01:33 +0000 2014",

    "id": 509748524897292288,

    "id_str": "509748524897292288",

    "text": "@Brenamae_ I WHALE SLAP YOUR FIN AND TELL YOU ONE LAST TIME: GO AWHALE",

    "source": "\u003ca href=\"http:\/\/twitter.com\/download\/android\" rel=\"nofollow\"\u003eTwitter for Android\u003c\/a\u003e",

    "truncated": false,

    "in_reply_to_status_id": 509748106015948800,

    "in_reply_to_status_id_str": "509748106015948800",

    "in_reply_to_user_id": 242563886,

    "in_reply_to_user_id_str": "242563886",

    "in_reply_to_screen_name": "Brenamae_",

    "user": "id": 175160659,

    "id_str": "175160659",

    "name": "Butterfly",

    "screen_name": "VanessaLilyWan",

    "location": "Canada, Montreal",

    "url": "http:\/\/instagram.com\/vanessalilywan",

    "description": "British youtubers. 'Nuff said.",

    "protected": false,

    "verified": false,

    "followers_count": 118,

    "friends_count": 180,

    "listed_count": 2,

    "favourites_count": 319,

    "statuses_count": 10221,

    "created_at": "Thu Aug 05 20:03:16 +0000 2010",

    "utc_offset": -36000,

    "time_zone": "Hawaii",

    "geo_enabled": false,

    "lang": "en",

    "contributors_enabled": false

}

所以我有两种键,据我所知是:


    import json

with open('salida_tweets.txt') as f:

    for line in f:

        texto=json.loads(line)

        objetos=texto.get('text')           

        print(objetos)

没有任何


@Brenamae_ 我拍拍你的鳍并告诉你最后一次:去AWHALE


但是在打印中,第一个仍然显示为“无”,我需要干净的文本将其与另一个文件混合。


有人能帮我吗?


慕桂英3389331
浏览 201回答 2
2回答

九州编程

在字典中搜索不存在的键时,该.get方法返回None,因此objetos您可以先检查返回值,而不是总是打印texto.get('text')。例如import jsonwith open('salida_tweets.txt') as f:    for line in f:        texto = json.loads(line)        objetos = texto.get('text')        # implement logic        if objetos:            print(objetos)这样,如果text密钥不存在,您的代码将不会打印。

互换的青春

要从字典中完全删除一个键,请使用“pop”方法。dictionary.pop(key[, default])如果您不关心要删除的键的值并且不想在删除之前测试它是否确实存在,您可以简单地执行以下操作:text = dictionary.pop('text', None)如果键不存在,这将使变量“text”成为 dictionary['text'] 或 None 的值。但是,您的问题似乎不清楚 - 听起来您不想要对象中名为“文本”的键,而是对象中恰好是文本的键的值?
随时随地看视频慕课网APP

相关分类

Python
我要回答