计算列表中字符串的字符串数

时间:2019-03-29 10:09:42

标签: python string

假设我有以下两个列表,其中仅包含字符串对象。

list1 = ['UC1', 'UC1,UC2', 'UC3' ]
list2 = ['UC1', 'UC2', 'UC3']

我想检查UC1UC2UC2list1中出现多少时间

预期结果应分别为2,1和1。

实际上,我分别在list1list2中有数百万个对象

有人可以帮助我在python中尽可能高效地做到这一点吗?

谢谢

2 个答案:

答案 0 :(得分:1)

n = [len([j for j in list1 if i in j]) for i in list2]

输出

  

[2,1,1]

答案 1 :(得分:0)

这很复杂。 对于列表中任何元素的计数,我们必须遍历所有列表。因此,时间复杂度等于O(n)。对于此步骤,我们无能为力。我推荐sklearn.feature_extract.text.TFIDFTransform

为了知道所有element的计数,我们应该存储计数并快速获取计数。我推荐字典或scipy.sparse.csr_matrix

相关问题