我正在用 NLTK 做一些 NLP 并且我有一个 Counter() 序列,例如
x = [(('DT', 'NN'), 59), (('NN', '.'), 50)]
搜索后,我应该得到一个包含所有符合上述要求的元组的列表。
y = [(('DT', 'NN'), 59)]
我的问题是,如何以最pythony的方式在没有O(n)时间的情况下有效地选择所有具有“DT”作为内部元组第一个元素的元素?
答案 0 :(得分:0)
正如 metatoaster 在他的评论中所阐述的那样,你可能会怀疑。必须重组您的数据才能以您想要的确切方式执行操作(无需 O(n))。
话虽如此,在当前状态下并参考您的示例,您可以这样做:
y = [t for t in x if t[0][0] == 'DT']