def __init__(self, *args): TrieBase.__init__(self) if len(args) > 1: msg = "{0} expected at most 1 arguments, got 2" raise TypeError(msg.format(self.__class__.__name__)) if len(args) == 1: if isinstance(args[0], abc.Sequence): for key in args[0]: self.add(key) else: msg = "{0} object is not iterable" raise TypeError(msg.format(args[0].__class__.__name__))
def __init__(self, *args, **kwargs): TrieBase.__init__(self) if len(args) > 1: msg = "{0} expected at most 1 arguments, got 2" raise TypeError(msg.format(self.__class__.__name__)) if len(args) == 1: if isinstance(args[0], abc.Sequence): iterable = args[0] elif isinstance(args[0], abc.Mapping): iterable = args[0].items() else: msg = "{0} object is not iterable" raise TypeError(msg.format(args[0].__class__.__name__)) for key, value in iterable: self[key] = value for key, value in kwargs.items(): self[key] = value