我需要將現有值轉換爲類中的字典,而不使用__dict__函數。下面的細節。Python:將現有值轉換爲Class中的字典,而不使用__dict__
電流輸出看起來像下面(總記錄的只有一部分,這只是舉例):
Abair, 131 Laconia St, 7, PHYS271:C|CHEM271:C|MUSC101:A|ANTA321:B
Babeau, 60 Parker St, 8, GERM111:B|COM432:A|ENGR251:C
Babin, 44 Griggs Rd, 9, MECH312:D|MATH142C|GEOG108:B
我需要的是這個輸出字典格式的課程等級對:
Babeau, 60 Parker St, 8, {GERM111:B, COM432:A, ENGR251:C}
我班如下。班級學生是班級人員的一個子班級。
class Person(object):
def __init__(self, name, address):
self.name = name
self.address = address
def get_name(self):
return self.name
def get_address(self):
return self.address
def greet(self):
print "Hello, my name is " + self.name
def print_person(self):
print self.name, self.address
class Student(Person):
next_id = 0 # A unique ID for each student
def __init__(self, name, address, record):
Person.__init__(self, name, address)
Student.next_id += 1
self.id = Student.next_id
self.record = record
def get_id(self):
return self.id
def add_to_record(self, semester_grades):
self.record += semester_grades
def get_record(self):
return self.record
def greet(self):
print "How's it going? I'm " + self.name
def print_person(self):
grades = str(self.record)
print "%s, %s, %i, %s" % (self.name, self.address, self.id, grades)
用於創建字典的指令是下面。我不認爲我被允許使用__dict__函數。
將每個學生的現有值添加到字典中,然後添加允許添加額外課程的成績對:成績對。 就創建詞典而言,文件中的數據已經處於課程中(關鍵):成績(值)對,因此構建詞典應該相當容易。只需使用split獲取對,然後再獲取這兩個部分並構建字典。 因此,對於每個學生,在初始化函數(__init__)函數中創建一個空字典,然後拆分課程:對成績進行配對並使用成績添加方法將其添加到學生對象。 然後寫一些代碼,使用添加,更改和檢索方法。」
我仍然無法弄清楚如何創建這樣的字典。
首先,'__dict__'是一本字典,而不是一個功能;'dict'是一個函數(A型)其次,你有什麼認爲你不能用其中之一? – jwodder
我不能因爲那是要求之一。 –
什麼部分你有麻煩嗎?看起來你的任務很清楚地說明了從字符串中創建字典的步驟:使用split來獲得對,然後再次分離split到key/value中,然後添加到字典中。 –