python - 根据元组填充列表中的元素选择某些元组
问题描述
我正在用 NLTK 做一些 NLP,并且我有一个 Counter() 序列,例如
x = [(('DT', 'NN'), 59), (('NN', '.'), 50)]
搜索后,我应该得到一个包含上述要求的所有元组的列表。
y = [(('DT', 'NN'), 59)]
我的问题是,如何以最 Python 的方式有效地选择所有具有 'DT' 作为内部元组的第一个元素的元素,而不需要 O(n) 时间?
解决方案
正如 metatoaster 在他的评论中所阐述的那样,你会发现。必须重组数据才能以您想要的确切方式执行操作(没有 O(n))。
话虽如此,在当前状态下并参考您的示例,您可以执行以下操作:
y = [t for t in x if t[0][0] == 'DT']
推荐阅读
- sql - Power BI - 如果文本列不符合条件,是否可以有条件地格式化它?
- php - 如何将时间添加到 PHP 的原始时间
- python - pandas:如何在一列上合并具有相同列名的多个数据框,并具有重复的值?
- ios - 如何在 iOS 上的 Swift 中以编程方式获取 UDID
- c# - 复合表存储查询
- javascript - 更新 PartialView 只工作一次
- php - PHP 访问由其他命名空间元素生成的对象
- reactjs - 反应应用程序的生产版本缺少几个文件夹
- applescript - Applescript 将附件从邮件保存到外部高清
- powershell - 点源导致 PS 控制台忽略 PS 脚本文件中的更改