簡體   English   中英

如何刪除 Python 中 JSON 文件中的特定值?

[英]How to remove a specific value in a JSON File in Python?

所以我得到了一個 JSON 文件看起來像

{
    "banned": [123, 456]
}

我想要做的是使用 Python 的 JSON 模塊或 Python 本身刪除禁止的值 123。

我嘗試了什么:

with open("banned.json", "w") as bannedload:
    bannedjson = json.load(bannedload)
    bannedjson["banned"].pop(123)
    # json.dump(bannedjson, bannedload) This Line was just for testing

第二次嘗試:

 with open("banned.json", "w") as bannedload:
    bannedjson = json.load(bannedload)
    del bannedjson["banned"][123]
    # json.dump(bannedjson, bannedload) This Line was just for testing

那么有人知道該怎么做嗎?

del()pop()都基於元素的索引工作,您可以使用remove()方法刪除元素,如下所示:

bannedjson["banned"].remove(123)

請注意,如果要刪除的元素在列表中不存在,則remove()將引發錯誤。 您可以使用in子句在刪除之前進行檢查:

elt = 123
if elt in bannedjson["banned"]: 
    bannedjson["banned"].remove(elt)

此外, remove()僅刪除第一次出現的元素,您可以使用列表推導刪除所有元素:

elt = 123
bannedjson["banned"] = [element for element in bannedjson["banned"] if elt != element]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM