I have a list of dicts:
list = [{\'id\':\'1234\',\'name\':\'Jason\'}, {\'id\':\'2345\',\'name\':\'Tom\'}, {\'id\':\'3456\',\'name\':\'Art\'}]
Seems most logical to use a filter/index combo:
names=[{}, {'name': 'Tom'},{'name': 'Tony'}] names.index(filter(lambda n: n.get('name') == 'Tom', names)[0]) 1
And if you think there could be multiple matches:
[names.index(n) for item in filter(lambda n: n.get('name') == 'Tom', names)] [1]