首页 > 解决方案 > 根据元组填充列表中的元素选择某些元组

问题描述

我正在用 NLTK 做一些 NLP,并且我有一个 Counter() 序列,例如

x = [(('DT', 'NN'), 59), (('NN', '.'), 50)]

搜索后,我应该得到一个包含上述要求的所有元组的列表。

y = [(('DT', 'NN'), 59)]

我的问题是,如何以最 Python 的方式有效地选择所有具有 'DT' 作为内部元组的第一个元素的元素,而不需要 O(n) 时间?

标签: pythonsearchnlp

解决方案


正如 metatoaster 在他的评论中所阐述的那样,你会发现。必须重组数据才能以您想要的确切方式执行操作(没有 O(n))。

话虽如此,在当前状态下并参考您的示例,您可以执行以下操作:

y = [t for t in x if t[0][0] == 'DT']

推荐阅读