Sengly wrote:
Dear all,
I am working with wordnet and I am a python newbie. I'd like to know
how can I transfer a list below
In [69]: dog
Out[69]:
[{noun: dog, domestic_dog, Canis_familiaris},
{noun: frump, dog},
{noun: dog},
{noun: cad, bounder, blackguard, dog, hound, heel},
{noun: frank, frankfurter, hotdog, hot_dog, dog, wiener, wienerwurst,
weenie},
{noun: pawl, detent, click, dog},
{noun: andiron, firedog, dog, dog-iron}]
to a list like this with python:
[dog, domestic_dog, Canis_familiaris,
frump, dog,
dog,
cad, bounder, blackguard, dog, hound, heel,
frank, frankfurter, hotdog, hot_dog, dog, wiener, wienerwurst,
weenie},
pawl, detent, click, dog},
andiron, firedog, dog, dog-iron]
Thank you.
Sengly
You should at least tell us what you have tried and where this information is
coming from and in what format.
Assumptions:
1) is a string containing what is shown (not a list of dictionaries)
2) the result you want is also a string (not a list)
out = '[{noun: dog, domestic_dog, Canis_familiaris},{noun: frump, dog},' \
'{noun: dog},{noun: cad, bounder, blackguard, dog, hound, heel},' \
'{noun: frank, frankfurter, hotdog, hot_dog, dog, wiener, wienerwurst, ' \
'weenie}, {noun: pawl, detent, click, dog}, {noun: andiron, firedog, ' \
'dog, dog-iron}]'
l = out.replace('}', '')[1:-1].split('{noun: ')[1:]
results = []
for entry in l:
words = [x.strip() for x in entry.split(',')]
results.extend(words)
print results
Note: this is very specific to the contents you show. If you need a general
solution you will either need to use regexes or look a pyparsing.
-Larry
--
http://mail.python.org/mailman/listinfo/python-list