On 12/28/05, Danny Yoo <[EMAIL PROTECTED]> wrote: > > > I just tried out sets for the first time, and I'm finding multiple uses > > for them, particularly for replacing and simplifying what would normally > > be one or two list comprehensions i.e. > > > > def parseKws(self, kw_data): > > ignoreSet = set(['import', 'from', 'as', ' ', '']) > > kws = set([]) > > for line in kw_data: > > line = line.rstrip("\n") > > if "," in line: line = line.replace(",", " ") > > if ";" in line: line = line.replace(";", " ") > > Hi Liam, > > Quick comment: the two if statements there can be simplified by just doing > the replacement straight-out: > > ############################# > line = line.replace(",", " ") > line = line.replace(";", " ") > ############################# > > The reason is that if those characters aren't present, no harm is done. > > > But looking at the code, I'm curious: it looks like you're trying to > tokenize the keywords out of Python source? If so, you may want to look > at the 'tokenize' module: > > http://www.python.org/doc/lib/module-tokenize.html > > as it'll handle some of the especially tricky cases like handling string > literals.
Thanks Danny, I'm writing a little database to stash my code snippets in, and my thinking tends to go along the lines of "That code I did that use imaplib..." so I'm linking module names to the stored files; that said, I'll use tokenizer next time I try and write a wxPython frontend for IronPython and save myself a lot of grief! > > However, I'm reminded of the joke about you can tell what chapter > > someone reading the Patterns book by the Gang of Four is up to by what > > new pattern they're trying to use the next day, no matter the problem. > > > > Are there any drawbacks to sets that I need to watch out for? > > Use them when they're appropriate, and don't use them when they're not. > *grin* > > It really is problem sensitive: if order matters, then sets probably > aren't appropriate. But sets are such a pervasive concept that few > problems don't provide opportunities to take advantage of them. Good to know; I'm very glad that they're part of Python. They're making my job a whole lot simpler. > Happy holidays to you! And likewise. :) _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor