group-concecutively-by

>>> from itertools import groupby
>>> l = [(u'Dem', u'O'), (u'.', u'O'), (u'Republic', u'LOCATION'), (u'of', u'LOCATION'), (u'Congo', u'LOCATION'), (u'prepares', u'O'), (u'to', u'O'), (u'confront', u'O'),  (u'Rwanda', u'LOCATION')]
>>> groupby(l, key=lambda x: x[1])
<itertools.groupby object at 0x10fff65d0>
>>> for k, g in groupby(l, key=lambda x: x[1]):
...     print list(g)
...
[(u'Dem', u'O'), (u'.', u'O')]
[(u'Republic', u'LOCATION'), (u'of', u'LOCATION'), (u'Congo', u'LOCATION')]
[(u'prepares', u'O'), (u'to', u'O'), (u'confront', u'O')]
[(u'Rwanda', u'LOCATION')]

>>> for k, g in groupby(l, key=lambda x: x[1]):
...     print k
...
O
LOCATION
O
LOCATION
>>>

this is same as uniq!

タグ:

python
最終更新:2017年07月29日 00:30