On Mon, Jun 9, 2014 at 10:59 AM, Chris Angelico <ros...@gmail.com> wrote: > On Tue, Jun 10, 2014 at 2:53 AM, Roy Smith <r...@panix.com> wrote: >> In retrospect, I suspect: >> >> hourly_data = [(t if status in set('CSRP') else None) for (t, >> status) in hours] >> >> is a little cleaner. > > I'd go with this. It's clearer that a status of 'SR' should result in > False, not True. (Presumably that can never happen, but it's easier to > read.) I'd be inclined to use set literal syntax, even though it's a > bit longer - again to make it clear that these are four separate > strings that you're checking against.
Depending on how much work this has to do, I might also consider moving the set construction outside the list comprehension since it doesn't need to be repeated on every iteration. -- https://mail.python.org/mailman/listinfo/python-list