对于我的项目,讲师(定义为班级)的角色是为学生提供项目。项目本身也是一个类。我有一些全局字典,由唯一的数字id为讲师和映射到对象的项目键入。在
因此,对于“讲师”字典(目前):lecturer[id] = Lecturer(lec_name, lec_id, max_students)
我正在读取一个由数据库生成的空白分隔的文本文件。我不能直接访问数据库,所以我对文件的格式没有太多意见。下面是一个虚构的片段,展示了文本文件的结构。请原谅奶酪的味道。在
^{pr2}$
每行的结构基本上是proj_id, lec_id, lec_name, proj_name。在
现在,我正在将相关数据读入相关对象。因此,proj_id存储在class Project中,而{}是class Lecturer对象,等等。Lecturer和{}类目前没有关联。在
然而,当我从文本文件中读到每一行时,对于那一行,我希望阅读讲师提供的项目到Lecturer类;我已经在将proj_id读入Project类。我想在Lecturer中创建一个名为offered_proj的对象,它应该是讲师提供的项目集或项目列表。因此,每当我读到同一个lec_id下的一个新项目时,offered_proj将与该项目一起更新。如果我想得到一个讲师提供的项目列表,理想情况下我只想使用print lecturers[lec_id].offered_proj。在
我的Python不是很好,如果有人能告诉我一种方法,我会很感激的。我不确定它是作为一个集合还是一个列表更好。在
Update
在Alex Martelli和{a2}的建议之后,我回去做了一些修改,并试图打印结果。在
以下是代码片段:
^{3}$
print lecturers[lec_id].offered_proj行打印以下输出:001 set([0001])
001 set([0002])
002 set([0003])
002 set([0004])
003 set([0005])
基本上感觉这集是写得太多了。因此,如果我试图为某个特定的讲师打印print lec_id, lecturers[001].offered_proj,我得到的就是最后一个被读入的proj_id。在