]> granicus.if.org Git - python/commitdiff
Use isinstance() where appropriate.
authorGuido van Rossum <guido@python.org>
Fri, 26 Mar 1999 16:20:18 +0000 (16:20 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 26 Mar 1999 16:20:18 +0000 (16:20 +0000)
Reformatted with 4-space indent.

Lib/UserList.py

index 93e4a7e2114b007c03d418c9e4f0bb03eb240dff..a60d8ce742167b40b99b115c4ffceede5d1a886e 100644 (file)
@@ -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)