I want to delete duplicated dictionary objects from a List of dictionaries. I don't want the dict element that has the same 'plate' element with another dict element in the list. I want it only once.
datalist = [
{
'plate': "01",
'confidence' : "80"
},
{
'plate': "01",
'confidence' : "60"
},
{
'plate': "02",
'confidence' : "91"
},
{
'plate': "02",
'confidence' : "91"
},
]
My output should be like this:
datalist = [
{
'plate': "01",
'confidence' : "80"
},
{
'plate': "02",
'confidence' : "91"
},
]
This is my code, but I'm not getting the exact result.
def filter(datalist):
previous = ""
for data in datalist:
current = data['plate']
if current is previous:
datalist.remove(data)
previous = current
return datalist
datalist = [
{
'plate': "01",
'confidence' : "80"
},
{
'plate': "01",
'confidence' : "60"
},
{
'plate': "02",
'confidence' : "91"
},
{
'plate': "02",
'confidence' : "91"
},
]
print (filter(datalist))
This gives me the output:
[
{
'plate': "01",
'confidence' : "80"
},
{
'plate': "02",
'confidence' : "91"
},
{
'plate': "02",
'confidence' : "91"
},
]
which is not expected, what's wrong with my code.