Deleting a few list items inside of dictionary
Hi, I have a dictionary:
phone = {\"first\":100,\"second\":200,\"third\":[10,12,5,38],\"fourth\":400}
Access values of the phone dictionary, Remove items of the List .
other answer - try get the item (key, value) containing data you want to change. remove it from dictionary. modify values (list) of this item. and then add it to dictionary
You can treat phone["third"] as a list since that is what it evaluates to. For instance, if you know the indexes of the items you want to remove you can do:
phone["third"][1:3]=[]
or
del phone["third"][1:3]
You can use del()
or you can re-create the list by filtering it:
>>> phone = {"first":100,"second":200,"third":[10,12,5,38],"fourth":400}
>>> phone['third'] = [x for x in phone['third'] if x not in (12,5)]
>>> phone
{'second': 200, 'fourth': 400, 'third': [10, 38], 'first': 100}
You have to do this by index rather than value:
>>> phone = {"first":100,"second":200,"third":[10,12,5,38],"fourth":400}
>>> del(phone["third"][1:3])
>>> phone
{'second': 200, 'fourth': 400, 'third': [10, 38], 'first': 100}
This deletes elements in position 1 and 2 in the list.
http://docs.python.org/2/tutorial/datastructures.html#the-del-statement del is a way to delete by index not value, however you can search the index first if you want. Better to use remove if you want to delete by value.
To delete the element at index 1 and 2
>>> phone = {"first":100,"second":200,"third":[10,12,5,38],"fourth":400}
>>> del phone["third"][1]
>>> del phone["third"][2]
>>> phone
{'second': 200, 'fourth': 400, 'third': [10, 5], 'first': 100}