On Thu, 27 Nov 2008 12:12:38 +0000, adam carr wrote:

> I'm still in the position of having to right code to deal with
> converting None to an empty list and one object to a list with a single
> entry.
> Python casting doesn't work here.

Python doesn't have type-casting. Python has type conversions:

mytype(obj)

doesn't force the type of obj to be "mytype", but constructs a new mytype 
object from obj.


 
> Maybe it's just wishful thinking, but I would have thought there would
> be a cleaner way of doing this.

What's wrong with something as simple as this?

def get_items():
    x = None
    # lots of work here...
    if isinstance(x, list):  # is x list-like?
        return x
    else:
        return [] if x is None else return [x]

Depending on your function, you may need to change the list test.

isinstance(x, list)  # x is a list, or a sub-class of list
type(x) is list  # x is a list, but not a sub-class
hasattr(x, '__iter__')  # x looks more or less list-like


-- 
Steven
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to