我有3个大列表L0
、L1
和L2
,分别有106756、106588和100个单词。你知道吗
由L0
和L1
组成的数据标记化为单词的标记,L2
由L0
和L1
列表共用的单词组成。你知道吗
假设
L1 = ['newnes', 'imprint', 'elsevier', 'corporate', 'drive', 'suite',
'burlington', 'usa', 'linacre', 'jordan', 'hill', 'oxford', 'uk',
'elsevier', 'inc', 'right', 'reserved', 'exception', 'newness', 'uk', ...]
L2 = ['usa', 'uk', 'hill', 'drive', ... ]
正如您在L1列表中看到的,有repetition of the words
像'newness'
,'uk'
。你知道吗
我需要的是,对于L2
中的每一个discovered (found)
单词,比如(比如说'newness'
,'uk'
),我需要用它的modified injected form
替换它,比如在发现的单词的start
或end
position
处附加一个special character
。
此外,对于发现的单词的所有实例(在L2
),都应该替换为L1
中相同单词的修改版本。例如
假设newness
这个词在L1
列表中出现了100次,newness这个词也出现在L2
。类似地,在L2
中也有100个单词,它们也出现在L1
中,具有多个频率。你知道吗
然后,在转换之后,列表应该看起来像这样:
newness ------> $newness$
uk -----------> $uk$
。。。你知道吗
如何在列表中实现这一点?请帮帮我。我也是python的新手。我只是想知道python中是否有一些命令可以实现这一点?我不知道从哪里开始?你知道吗
为了统计列表中的内容,python在其collections模块中提供了一个类似dict的Counter()类:Doku,该类统计O(n)中出现的事件,并将它们作为字典提供。你知道吗
输出:
它提供了一种方便的方法,可以将结果排序为名为most_common()的元组列表
(key, count)
-如果使用第一个元组,则会得到最常用的单词,可以与列表理解一起使用,以修改源列表:输出:
Counter
中项目的顺序与原始列表中的顺序有关,您得到了多个项目,L1
中的计数为2-elsevier
是第一个项目,因此在使用most_common()
时也是第一个项目编辑4条评论:
输出:
相关问题 更多 >
编程相关推荐