def __init__ ( self, trait = None, value = None, minlen = 0,
                   maxlen = sys.maxint, items = True, **metadata ):
        metadata.setdefault( 'copy', 'deep' )

        if isinstance( trait, SequenceTypes ):
            trait, value = value, list( trait )

        if value is None:
            value = []

        self.item_trait = trait_from( trait )
        self.minlen     = max( 0, minlen )
        self.maxlen     = max( minlen, maxlen )
        self.has_items  = items

        if self.item_trait.instance_handler == '_instance_changed_handler':
            metadata.setdefault( 'instance_handler', '_list_changed_handler' )

        super( List, self ).__init__( value, **metadata )
Returns a List trait.
dataset/ETHPy150Open enthought/traits/traits/trait_types.py/List.__init__