Python map variables from list

Viewed 103

I come to python from js. I have list like:

[{_id: '1', data: {}}, {_id: '2', data: {}}] 

my goal is to get list of _id's like [1, 2]

2 Answers

As it's javascript object, not a json, you need 3rd party library like demjson to convert it to json.

In [70]: import demjson

In [71]: demjson.decode("[{_id: '1', data: {}}, {_id: '2', data: {}}]")
Out[71]: [{'_id': '1', 'data': {}}, {'_id': '2', 'data': {}}]

In [72]: converted_json = demjson.decode("[{_id: '1', data: {}}, {_id: '2', data: {}}]")

In [74]: [int(i["_id"]) for i in converted_json]
Out[74]: [1, 2]

Try this simple list comprehension -

j = [{'_id': '1', 'data': {}}, {'_id': '2', 'data': {}}]

#One liner
[int(i.get('_id')) for i in j]
[1,2]
Related