Hello, I have a class and i return both a key list and dictionary from the class. Is it good form to do this? The print helo.__dict__ shows both the list and dictionary.
>>> class Parse_Nagios_Header: ... def __init__(self): ... self.keylist = [] ... self.d = {} ... f = open("common.h") ... lines = f.readlines() ... lines = filter(lambda x: not x.isspace(), lines) ... f.close() ... for line in lines: ... if re.search("CMD", line): ... line = line.lstrip('#define ') ... line = line.strip() ... line.replace('\t', ' ') ... line = line.split() ... if len(line) > 2: ... pass ... elif len(line) == 2: ... line[1] = int(line[1]) ... self.d[line[1]] = line[0] ... self.keylist = sorted(self.d.iterkeys()) ... def __iter__(self): ... return iter(self.keylist, self.d) ... >>> helo = Parse_Nagios_Header() >>> print helo <__main__.Parse_Nagios_Header instance at 0x7fbf5b09b488> >>> for key in helo.keylist: ... print "Key:%s Value:%s" %(key,helo.d[key]) ... Key:0 Value:CMD_NONE Key:1 Value:CMD_ADD_HOST_COMMENT Key:2 Value:CMD_DEL_HOST_COMMENT Key:3 Value:CMD_ADD_SVC_COMMENT Key:4 Value:CMD_DEL_SVC_COMMENT Key:5 Value:CMD_ENABLE_SVC_CHECK -- David Garvey
-- http://mail.python.org/mailman/listinfo/python-list