【发布时间】:2013-07-27 22:30:20
【问题描述】:
首先感谢您花时间查看我的问题。与其简单地描述我必须解决的问题的解决方案,我认为最好也概述问题,以便能够提出替代解决方案的想法。很有可能有更好的方法来实现这个解决方案。
我遇到的问题:
我生成具有相关分数等级和其他相关值的名称列表,这些列表每天生成,但由于需要删除一些名称,因此必须随着时间的推移而更改。目前,这些名称列表是在基于 excel 的表格上生成的,其中包含以下格式的以下数据类型;
(Unique List Title)
(Unique Name in list),(Rank),(Score),(Calculated Numeric Value),(non unique filter)
(Unique Name in list),(Rank),(Score),(Calculated Numeric Value),(non unique filter)
(Unique Name in list),(Rank),(Score),(Calculated Numeric Value),(non unique filter)
(Unique List Title)
(Unique Name in list),(Rank),(Score),(Calculated Numeric Value),(non unique filter)
(Unique Name in list),(Rank),(Score),(Calculated Numeric Value),(non unique filter)
(Unique Name in list),(Rank),(Score),(Calculated Numeric Value),(non unique filter)
(Unique Name in list),(Rank),(Score),(Calculated Numeric Value),(non unique filter)
例如;
Mrs Dodgsons class
Rosie,1,123.8,5,Lincoln University
James,2,122.6,7,Lincoln University
Chris,3,120.4,12,Lincoln University
Douglas,4,120.2,18,Lincoln University
Dr Clements class
Hannah,1,126.9,2.56,Durham University
Gill,2,124.54,6.89,Durham University
Jack,3,122.04,15.62,Durham University
Jamie,4,121.09,20.91,Durham University
Douglas,4,120.2,18,Durham University
现在我拥有的是一个单独的用户列表及其相关的“非唯一过滤器”,他们需要从上述 excel 生成的列表中删除(不用担心这个小项目的最终产品不是重新保存修改过的excel doc),这个列表是通过每两分钟更新一次的网络爬虫生成的。我目前认为解决此问题的潜在可行解决方案的方法是使用一段代码,将 CSV 中的每个列表保存为 SET(如果可能的话),然后在找到唯一名称/非 uniqe 过滤器组合时从它们发生的 SET/S 中删除它们。
例如,如果 Douglas,Durham University 在此列表中返回,则两个已定义集合中的第二个将看到 Douglas 被删除。如果唯一用户名出现在其中两个集合中,其中一个将始终与关联的大学一起出现在要删除的用户列表中(因此我们可以确定要从哪个集合中删除用户。)但是请注意要删除的用户并不总是同时出现在两组中,例如“Rosie,Lincoln University”可以很容易地出现在要删除的用户列表中。
我之前在python论坛上提出了一个非常相似的问题,但是我在提出问题的方式以及我想要实现的目标方面犯了一些错误,而不是在我开始的旧线程上混淆问题这里有一个新线程。在旧线程上,有一些关于该问题的一般性问题,我将在这里回答以提供一些说明。
Q1 所以第一个列表每天只生成一次,那一天之后它会发生什么,是丢弃、存储、替换等等。
A1 我的直觉是它应该以简单的 .txt .csv 或类似文件的形式保存到一个文件夹中,如果只是用于调试日志的话。
Q2 每两分钟需要更改第一个列表,更改后的列表会发生什么,谁需要知道它,它是存储还是只是在某些内存状态中更改等等。
A2 此代码的最终目的是生成带有用户统计信息的 RSS,其中一些统计信息包括(排名)和(计算数值)。 Rank 是不言自明的,说明这会因用户被删除而发生怎样的变化。然而,(计算的数值)是从使用每个列表的(分数)的总和以及所述列表中的用户数量的等式导出的。因此,在回答原始问题时,需要以某种方式存储该列表。
Q3 每个类的名称是唯一的还是在整个数据中都是唯一的。
A3 名称在整个数据中是唯一的,即用户名 Douglas 将始终指代 Douglas,如果用户出现在多个类中,则它将始终出现在要删除的用户列表中。
Q4 如果名字是唯一的,当两个人在同一个班级有相同的名字时会发生什么,这听起来很可能。
A4 在此示例中,同一类中的多个用户可能具有相同的名称,但实际上不可能发生。
我对堆栈溢出的问题是;
- 在生成多个唯一命名的 SET(每天最多 60 个)方面提出的方法是否可行
- 是否有更好的方法来达到相同的结果?
任何帮助或 cmets 将不胜感激
向 AEA 致敬
【问题讨论】:
-
其实,看看你已经写的东西会更好^^
-
我还没有开始编写代码,我仍在尝试确定实现上述目标的最佳方法。总的来说,我对编码和 python 比较陌生,我设计代码的能力受限于我不知道使用 python 可以使用哪些功能和可能性。
标签: python list dynamic python-2.7 set