【发布时间】:2012-11-26 14:57:06
【问题描述】:
我有一个字符串列表,每个字符串都是格式几乎完全相同的电子邮件。每封电子邮件中都有很多信息,但最重要的信息是设施名称和事件日期。
我希望能够获取该电子邮件列表,并创建一个新列表,其中电子邮件根据“location_substring”分组在一起,然后再次为“incident_date_substring”排序,以便所有来自一个位置将按时间顺序在列表中组合在一起。
设施子字符串通常可以在每封电子邮件的主题行中找到。事件日期可以在电子邮件中以“事件日期:”开头的一行中找到。
关于我将如何做这件事的任何想法?
【问题讨论】:
-
老实说,我是新手,不知道如何做到这一点。我认为我应该做的是定义一个从每个字符串中提取设施名称的函数。然后创建另一个提取日期的函数。然后使用 sorted() 方法,将它们作为键,或其他东西......但我真的不知道!
-
python 中常用的一种叫做 decorate-sort-undecorate 的成语。见here。
-
你知道什么是正则表达式吗? (不意味着冒犯,如果你不知道它是什么,谷歌一个很好的 tut。)因为它是你问题的解决方案。首先使用正则表达式搜索位置并构建一个字典,其中位置作为键,电子邮件列表作为值。
-
我知道什么是正则表达式。我实际上有一个字典,其中设施的名称作为值,设施 ID 作为键,我从放在一起的文本文件中提取。这样做的目的是为了程序中的后续步骤。听起来你是在建议我创建一个新的,但我没有考虑过。
-
@mrpryd:如果您发布示例电子邮件,我会看看是否可以为您准备一些基本代码。
标签: python string list sorting substring