Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

With the following expression, you can convert a string to a python dict.

>>> import ast
>>> a = ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}")
>>> a
{'muffin': 'lolz', 'foo': 'kitty'}

And with the following expression, you can get the "foo" value:

>>> a.get('foo')

I have an array of strings which are similar to python dict format.

Firstly, I want to convert all of them to dict, so I will be able to create a dict array.

Secondly, I want to get all "foo" values from that dict array, so I will be able to create a "foo" array.

How can I manage this?

Thanks,

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
747 views
Welcome To Ask or Share your Answers For Others

1 Answer

Is this approximately what you're after?

import ast
import numpy
a = numpy.array(["{'foo':123}","{'foo':234}"])
numpy.fromiter((ast.literal_eval(s)['foo'] for s in a), numpy.int_)

(Of course the appropriate dtype will depend on what's actually in those dicts.)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...