diff options
| author | Thomas Wouters <thomas@python.org> | 2000-08-24 20:14:10 (GMT) | 
|---|---|---|
| committer | Thomas Wouters <thomas@python.org> | 2000-08-24 20:14:10 (GMT) | 
| commit | 104a7bcc28f96c6192815e82971d660c9910c16b (patch) | |
| tree | 9154c2e6b47cc4721c648457e7762e804ca97e2e /Lib/UserList.py | |
| parent | 434d0828d81855692d45c3fdc0905a67c17d83ba (diff) | |
| download | cpython-104a7bcc28f96c6192815e82971d660c9910c16b.zip cpython-104a7bcc28f96c6192815e82971d660c9910c16b.tar.gz cpython-104a7bcc28f96c6192815e82971d660c9910c16b.tar.bz2  | |
Support for augmented assignment in the UserList, UserDict, UserString and
rfc822 (Addresslist) modules. Also a preliminary testcase for augmented
assignment, which should actually be merged with the test_class testcase I
added last week.
Diffstat (limited to 'Lib/UserList.py')
| -rw-r--r-- | Lib/UserList.py | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/UserList.py b/Lib/UserList.py index d4a8d2f..1146060 100644 --- a/Lib/UserList.py +++ b/Lib/UserList.py @@ -51,9 +51,20 @@ class UserList:              return self.__class__(other + self.data)          else:              return self.__class__(list(other) + self.data) +    def __iadd__(self, other): +        if isinstance(other, UserList): +            self.data += other.data +        elif isinstance(other, type(self.data)): +            self.data += other +        else: +            self.data += list(other) +        return self      def __mul__(self, n):          return self.__class__(self.data*n)      __rmul__ = __mul__ +    def __imul__(self, n): +        self.data *= n +        return self      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)  | 
