为了账号安全,请及时绑定邮箱和手机立即绑定

Python字典删除键

Python字典删除键

慕桂英3389331 2021-09-28 15:28:03
我从 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 jsonwith open('salida_tweets.txt') as f:    for line in f:        texto=json.loads(line)        objetos=texto.get('text')                   print(objetos)没有任何@Brenamae_ 我拍拍你的鳍并告诉你最后一次:去AWHALE但是在打印中,第一个仍然显示为“无”,我需要干净的文本将其与另一个文件混合。有人能帮我吗?
查看完整描述

2 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

在字典中搜索不存在的键时,该.get方法返回None,因此objetos您可以先检查返回值,而不是总是打印texto.get('text')。


例如


import json


with 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密钥不存在,您的代码将不会打印。


查看完整回答
反对 回复 2021-09-28
?
互换的青春

TA贡献1797条经验 获得超6个赞

要从字典中完全删除一个键,请使用“pop”方法。

dictionary.pop(key[, default])

如果您不关心要删除的键的值并且不想在删除之前测试它是否确实存在,您可以简单地执行以下操作:

text = dictionary.pop('text', None)

如果键不存在,这将使变量“text”成为 dictionary['text'] 或 None 的值。

但是,您的问题似乎不清楚 - 听起来您不想要对象中名为“文本”的键,而是对象中恰好是文本的键的值?


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信