diff options
| author | Guido van Rossum <guido@python.org> | 1999-03-26 16:20:18 (GMT) | 
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 1999-03-26 16:20:18 (GMT) | 
| commit | 2a340b38894e6c55dd0feb2b967d1e3c0dcda174 (patch) | |
| tree | 0ad7e5288b57f4ac3473555bb04e1b54d110ddf3 /Lib/UserList.py | |
| parent | ecb1a65f63ad12f7e789f1c6f9a8f5b9291d6613 (diff) | |
| download | cpython-2a340b38894e6c55dd0feb2b967d1e3c0dcda174.zip cpython-2a340b38894e6c55dd0feb2b967d1e3c0dcda174.tar.gz cpython-2a340b38894e6c55dd0feb2b967d1e3c0dcda174.tar.bz2  | |
Use isinstance() where appropriate.
Reformatted with 4-space indent.
Diffstat (limited to 'Lib/UserList.py')
| -rw-r--r-- | Lib/UserList.py | 112 | 
1 files changed, 63 insertions, 49 deletions
diff --git a/Lib/UserList.py b/Lib/UserList.py index 93e4a7e..a60d8ce 100644 --- a/Lib/UserList.py +++ b/Lib/UserList.py @@ -1,52 +1,66 @@  # A more or less complete user-defined wrapper around list objects  class UserList: -	def __init__(self, list = None): -		self.data = [] -		if list is not None: -			if type(list) == type(self.data): -				self.data[:] = list -			else: -				self.data[:] = list.data[:] -	def __repr__(self): return repr(self.data) -	def __cmp__(self, list): -		if type(list) == type(self.data): -			return cmp(self.data, list) -		else: -			return cmp(self.data, list.data) -	def __len__(self): return len(self.data) -	def __getitem__(self, i): return self.data[i] -	def __setitem__(self, i, item): self.data[i] = item -	def __delitem__(self, i): del self.data[i] -	def __getslice__(self, i, j): -		userlist = self.__class__() -		userlist.data[:] = self.data[i:j] -		return userlist -	def __setslice__(self, i, j, list): -		if type(list) == type(self.data): -			self.data[i:j] = list -		else: -			self.data[i:j] = list.data -	def __delslice__(self, i, j): del self.data[i:j] -	def __add__(self, list): -		if type(list) == type(self.data): -			return self.__class__(self.data + list) -		else: -			return self.__class__(self.data + list.data) -	def __radd__(self, list): -		if type(list) == type(self.data): -			return self.__class__(list + self.data) -		else: -			return self.__class__(list.data + self.data) -	def __mul__(self, n): -		return self.__class__(self.data*n) -	__rmul__ = __mul__ -	def append(self, item): self.data.append(item) -	def insert(self, i, item): self.data.insert(i, item) -	def pop(self, i=-1): return self.data.pop(i) -	def remove(self, item): self.data.remove(item) -	def count(self, item): return self.data.count(item) -	def index(self, item): return self.data.index(item) -	def reverse(self): self.data.reverse() -	def sort(self, *args): apply(self.data.sort, args) -	def extend(self, list): self.data.extend(list) +    def __init__(self, list=None): +        self.data = [] +        if list is not None: +            if type(list) == type(self.data): +                self.data[:] = list +            else: +                self.data[:] = list.data[:] +    def __repr__(self): return repr(self.data) +    def __cmp__(self, other): +        if isinstance(other, UserList): +            return cmp(self.data, other.data) +        else: +            return cmp(self.data, other) +    def __len__(self): return len(self.data) +    def __getitem__(self, i): return self.data[i] +    def __setitem__(self, i, item): self.data[i] = item +    def __delitem__(self, i): del self.data[i] +    def __getslice__(self, i, j): +        i = max(i, 0); j = max(j, 0) +        userlist = self.__class__() +        userlist.data[:] = self.data[i:j] +        return userlist +    def __setslice__(self, i, j, other): +        i = max(i, 0); j = max(j, 0) +        if isinstance(other, UserList): +            self.data[i:j] = other.data +        elif isinstance(other, type(self.data)): +            self.data[i:j] = other +        else: +            self.data[i:j] = list(other) +    def __delslice__(self, i, j): +        i = max(i, 0); j = max(j, 0) +        del self.data[i:j] +    def __add__(self, other): +        if isinstance(other, UserList): +            return self.__class__(self.data + other.data) +        elif isinstance(other, type(self.data)): +            return self.__class__(self.data + other) +        else: +            return self.__class__(self.data + list(other)) +    def __radd__(self, other): +        if isinstance(other, UserList): +            return self.__class__(other.data + self.data) +        elif isinstance(other, type(self.data)): +            return self.__class__(other + self.data) +        else: +            return self.__class__(list(other) + self.data) +    def __mul__(self, n): +        return self.__class__(self.data*n) +    __rmul__ = __mul__ +    def append(self, item): self.data.append(item) +    def insert(self, i, item): self.data.insert(i, item) +    def pop(self, i=-1): return self.data.pop(i) +    def remove(self, item): self.data.remove(item) +    def count(self, item): return self.data.count(item) +    def index(self, item): return self.data.index(item) +    def reverse(self): self.data.reverse() +    def sort(self, *args): apply(self.data.sort, args) +    def extend(self, other): +        if isinstance(other, UserList): +            self.data.extend(other.data) +        else: +            self.data.extend(other)  | 
