Python - 从字典/列表中删除项目[重复]
Posted
技术标签:
【中文标题】Python - 从字典/列表中删除项目[重复]【英文标题】:Python - remove item from Dict/List [duplicate] 【发布时间】:2016-03-14 00:48:05 【问题描述】:我对 Mongo 的 Web 服务调用返回以下 JSON。我需要迭代这个 JSON 值并删除 Item - product_language,因为它包含 NULL/空字符串。
对如何做到这一点有任何想法吗?
Python 3.4 版本。
"prod_doc_key" : "613509",
"metadata" :
"channel_availability_for" :
"description" : "Kiosk and Web",
"id" : 0
,
"dd_sold_out_flag" : 0,
"dd_units_sold_flag" : 0,
"display_type_id" :
"id" : 0
,
"preorder_flag" : 0,
"price_in_cart_flag" : 0,
"product_language" : "",
"product_type" :
"id" : 0,
"name" : "Product"
,
"promotion_flag" : 0,
"published" : 1,
"rebate_flag" : 0
【问题讨论】:
在这些线程中解决了类似的问题。 ***.com/questions/19201233/…***.com/questions/28706841/… 【参考方案1】:用json加载,如果key为空则移除key:
import json
item =json.loads(src)
if 'product_language' in item and not item['product_language']:
item.pop('product_language')
在 Python 中,空字符串等于 False。
【讨论】:
【参考方案2】:使用json
模块加载json。
import json
with open('demo.txt','r+') as f:
dic=json.load(f)
try:
if dic['metadata']["product_language"]:
del dic['metadata']["product_language"]
except KeyError:
print "Key doesn't exist"
print dic
请注意,这里的dic
是一个字典,您可以通过打印type(dic)
来确定它。所以,你可以对它进行任何字典操作,比如我删除了dic
的一个键。要遍历 dic,请执行以下操作:
for key,value in dic.iteritems():
#do_something
【讨论】:
【参考方案3】:您可以使用以下语法从字典 d
中删除键 k
:
del d[k]
【讨论】:
以上是关于Python - 从字典/列表中删除项目[重复]的主要内容,如果未能解决你的问题,请参考以下文章