Python - remove item from Dict/List
本问题已经有最佳答案,请猛点这里访问。
我对Mongo的WebService调用返回以下JSON。我需要迭代这个JSON值并删除item-product_语言,因为它包含空/空字符串。
有什么关于怎么做的想法吗?
python 3.4版本。
{
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | "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 } |
}
加载JSON,如果它是空的,则移除该键:
1 2 3 4 | import json item =json.loads(src) if 'product_language' in item and not item['product_language']: item.pop('product_language') |
在python中,空字符串等于false。
使用
1 2 3 4 5 6 7 8 9 10 11 | 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 |
注意,这里的
1 2 | for key,value in dic.iteritems(): #do_something |
可以从字典中删除键
1 | del d[k] |