0

I have following sequence index:

[{u'matches_template': 0, u'plate': u'EA7THE', u'confidence': 92.405113},
{u'matches_template': 0, u'plate': u'EA7TBE', u'confidence': 83.526604},
{u'matches_template': 0, u'plate': u'EA7TRE', u'confidence': 82.455276},
{u'matches_template': 0, u'plate': u'EA7T8E', u'confidence': 82.432587},
{u'matches_template': 0, u'plate': u'6A7THE', u'confidence': 80.914902},
{u'matches_template': 0, u'plate': u'BA7THE', u'confidence': 80.913948},
{u'matches_template': 0, u'plate': u'EA7THB', u'confidence': 78.234192},
{u'matches_template': 0, u'plate': u'GA7THE', u'confidence': 78.146278},
{u'matches_template': 0, u'plate': u'EA7TE', u'confidence': 77.999985},
{u'matches_template': 0, u'plate': u'A7THE', u'confidence': 77.449036},
{u'matches_template': 0, u'plate': u'EA7TH6', u'confidence': 76.716492},
{u'matches_template': 0, u'plate': u'6A7TBE', u'confidence': 72.036392},
{u'matches_template': 0, u'plate': u'BA7TBE', u'confidence': 72.035439},
{u'matches_template': 0, u'plate': u'6A7TRE', u'confidence': 70.965065},
{u'matches_template': 0, u'plate': u'BA7TRE', u'confidence': 70.964104},
{u'matches_template': 0, u'plate': u'6A7T8E', u'confidence': 70.942375},
{u'matches_template': 0, u'plate': u'BA7T8E', u'confidence': 70.941422},
{u'matches_template': 0, u'plate': u'EA7TBB', u'confidence': 69.355682},
{u'matches_template': 0, u'plate': u'GA7TBE', u'confidence': 69.267769},
{u'matches_template': 0, u'plate': u'A7TBE', u'confidence': 68.570526}]

I tried for loop to get only plate values from this sequence index.

EA7THE
EA7TBE
EA7TRE
EA7T8E
6A7THE
BA7THE
EA7THB
GA7THE
EA7TE
A7THE
EA7TH6
6A7TBE
BA7TBE
6A7TRE
BA7TRE
6A7T8E
BA7T8E
EA7TBB
GA7TBE
A7TBE
A7TBE

This is code for it. But I don't know how to get first of these sequence index. Please help to get first plate value of it.

for candidate in plate['candidates']:  
        print(candidate['plate']) 

I would like to know how to get plate number of maximum confidence value. I know this is stupid question. Sorry for that.

m00am
  • 5,910
  • 11
  • 53
  • 69
user38701
  • 87
  • 2
  • 10

2 Answers2

0

List comprehension I think:

[c.get('plate') for c in plate_list ][0]

==>u'EA7THE'

wolendranh
  • 4,202
  • 1
  • 28
  • 37
0

You can also sort `list of dictionaries by values'. So if sorted in ascending order, you retrieve the last one and if sorted by descending values, retrieve the first one.

a = [{u'matches_template': 0, u'plate': u'EA7THE', u'confidence': 92.405113}, {u'matches_template': 0, u'plate': u'EA7TBE', u'confidence': 83.526604}, {u'matches_template': 0, u'plate': u'EA7TRE', u'confidence': 82.455276}, {u'matches_template': 0, u'plate': u'EA7T8E', u'confidence': 82.432587}, {u'matches_template': 0, u'plate': u'6A7THE', u'confidence': 80.914902}, {u'matches_template': 0, u'plate': u'BA7THE', u'confidence': 80.913948}, {u'matches_template': 0, u'plate': u'EA7THB', u'confidence': 78.234192}, {u'matches_template': 0, u'plate': u'GA7THE', u'confidence': 78.146278}, {u'matches_template': 0, u'plate': u'EA7TE', u'confidence': 77.999985}, {u'matches_template': 0, u'plate': u'A7THE', u'confidence': 77.449036}, {u'matches_template': 0, u'plate': u'EA7TH6', u'confidence': 76.716492}, {u'matches_template': 0, u'plate': u'6A7TBE', u'confidence': 72.036392}, {u'matches_template': 0, u'plate': u'BA7TBE', u'confidence': 72.035439}, {u'matches_template': 0, u'plate': u'6A7TRE', u'confidence': 70.965065}, {u'matches_template': 0, u'plate': u'BA7TRE', u'confidence': 70.964104}, {u'matches_template': 0, u'plate': u'6A7T8E', u'confidence': 70.942375}, {u'matches_template': 0, u'plate': u'BA7T8E', u'confidence': 70.941422}, {u'matches_template': 0, u'plate': u'EA7TBB', u'confidence': 69.355682}, {u'matches_template': 0, u'plate': u'GA7TBE', u'confidence': 69.267769}, {u'matches_template': 0, u'plate': u'A7TBE', u'confidence': 68.570526}]

a = sorted(a, key= lambda k:k['confidence'])

print a [-1]['plate']

Output: EA7THE

Demo

sam
  • 2,033
  • 2
  • 10
  • 13