Adam Lanier wrote: >> class Foo(object): >> def __init__(self, *args): >> self.params = [arg if isinstance(arg, Bar) else Bar(arg) for >> arg in args] >> > > Interesting, I'm not familiar with this idiom... > > These are two idioms actually:
1. a "list comprehension": >>> newlist = [return_something(item) for item in some_iterable] 2. where return_something(item) is a "conditional assignment": >>> result = a if condition_is_true else b /W -- http://mail.python.org/mailman/listinfo/python-list