性能 - 在文本文件中搜索字符串 - Python

时间:2015-09-09 19:47:12

标签: python performance list

我有一组日期:

dates1 = {'21/5/2015', '4/4/2015', '15/6/2015', '30/1/2015', '19/3/2015', '25/2/2015', '25/5/2015', '8/2/2015', '6/6/2015', '15/3/2015', '15/1/2015', '30/5/2015'}

相同的日期出现在文本中(从现在起'数据')。这是一篇很长的文章。我想循环文本并获得每个日期在文本中出现的次数,然后我打印出更多出现的5个日期。

我现在拥有的是:

def dates(data, dates1):
    lines = data.split("\n")
    dict_days = {}
    for day in dates1:
        count = 0
        for line in lines:
            if day in line:
                count += 1
        dict_days[day] = count

    newA = heapq.nlargest(5, dict_days, key=dict_days.get)

    print(newA)

我将tex分成行,创建一个dict,对于列表中的每个日期,它在每一行中查找它,如果它发现它将1添加到count。

这很好用,但是这个方法花了很多时间。

所以我要问的是,如果有人知道一种更有效的方法来完全相同的

任何帮助都将非常感激

修改

我会尝试每一个答案并让您知道,提前谢谢

0 个答案:

没有答案