我有一個串列,Corp。它看起來像這樣:
list-of-lists = [
['the Def Det _1'/span>, '_1'/span>]
['dogs dog N Sg @SUBJ> _1'/span>, '_1'/span>]
['bark miskan V 3Sg @PRED _1'/span>, '_1'/span>]
['. ? CLB _1', '_1']
['it it Pron 3Sg @SUBJ> _2'/span>, '_2'/span>]
['scared V Pst @PRED _2'/span>, '_2']
['me I Pron 1Sg @OBJ< _2'/span>, '_2'/span>]
...
]
我想做的是將這些分組,使所有具有相同句子索引的專案(每個串列中的最后一個專案)都被分組,就像這樣:
我想做的是將這些分組。
[[]]。
[['the Def Det _1'/span>, '_1'/span>]。
['dogs dog N Sg @SUBJ> _1'/span>, '_1'/span>],
['bark miskan V 3Sg @PRED _1'/span>, '_1'/span>],
['. ? CLB _1', '_1']]
[['it it Pron 3Sg @SUBJ> _2', '_2']。
['scared V Pst @PRED _2', '_2'] 。
['me I Pron 1Sg @OBJ< _2', '_2']] 。
...
]
我已經嘗試使用itemgetter和groupby(分別來自operator和itertools模塊)。這樣做的問題是,他們看到,要對嵌入的新串列進行重新排序:
groupedcorp = [[x for x,y in g]
for k,g in groupby(splitcorp,key=itemgetter(1)]
[
[['. ? CLB _1', '_1']]。
['dogs dog N Sg @SUBJ> _1', '_1']。
['bark miskan V 3Sg @PRED _1'/span>, '_1'/span>],
['the Def Det _1', '_1' ]]
[['s scared scare V Pst @PRED _2', '_2']。
[['it it Pron 3Sg @SUBJ> _2', '_2'],
['me I Pron 1Sg @OBJ< _2', '_2']] 。
...
]
我對最后一句話的索引被吃掉沒有意見(每個原子串列中的第二項)。
希望能得到任何幫助。
uj5u.com熱心網友回復:
就我對問題的理解(不是100%確定...)。以下是你正在尋找的分組。
from collections import defaultdict
data = defaultdict(list)
lists = [['the Def Det _1', '_1'],
['dogs dog N Sg @SUBJ> _1'/span>, '_1'/span>],
['bark miskan V 3Sg @PRED _1'/span>, '_1'/span>],
['. ? CLB _1', '_1']。
['it it Pron 3Sg @SUBJ> _2', '_2'] 。
['scared V Pst @PRED _2', '_2'] 。
['me I Pron 1Sg @OBJ< _2', '_2'].
]
for lst in lists:
data[lst[-1] ].append(lst)
for k,v in data.items():
print(f'{k} -> {v}'/span>)
輸出
_1 -> [['the Def Det _1'/span>, '_1'/span>], ['dogs dog N Sg @SUBJ> _1', '_1'], ['bark miskan V 3Sg @PRED _1', '], [' 。 ? CLB _1', '_1']]
_2 -> [['it it Pron 3Sg @SUBJ> _2', '_2'], ['scared V Pst @PRED _2', '_2'], ['me I Pron 1Sg @OBJ< _2', '_2']] 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/325365.html
標籤:
上一篇:如何解決JavaEclipse在嘗試運行代碼時出現的"啟動錯誤"?
下一篇:底部導航圖示不會改變
