我希望对单词及其标签进行排序,从具有最大的标签到最低标签的标签。
到目前为止,我有这个:
from collections import defaultdict
tagged = defaultdict(set)
for w in brown:
tagged[w[0]].add(w[1])
for word in tagged:
if len(tagged[word])>1:
print (word, tagged[word])
它打印所有具有超过1个标签的单词的列表。如何对其进行排序,以便订单下降?
尝试以下:
items = sorted(tagged.items(), key=lambda item: len(item[1]), reverse=True)
for word, tags in items:
if len(tags) <= 1:
break
print(word, tags)
它将按值降序按值的长度对所有条目进行排序。循环在开始打印长度1条目之前停止。