1 # A more or less complete user-defined wrapper around list objects
4 def __init__(self
, list = None):
7 if type(list) == type(self
.data
):
10 self
.data
[:] = list.data
[:]
11 def __repr__(self
): return repr(self
.data
)
12 def __cmp__(self
, list):
13 if type(list) == type(self
.data
):
14 return cmp(self
.data
, list)
16 return cmp(self
.data
, list.data
)
17 def __len__(self
): return len(self
.data
)
18 def __getitem__(self
, i
): return self
.data
[i
]
19 def __setitem__(self
, i
, item
): self
.data
[i
] = item
20 def __delitem__(self
, i
): del self
.data
[i
]
21 def __getslice__(self
, i
, j
):
22 userlist
= self
.__class
__()
23 userlist
.data
[:] = self
.data
[i
:j
]
25 def __setslice__(self
, i
, j
, list):
26 if type(list) == type(self
.data
):
29 self
.data
[i
:j
] = list.data
30 def __delslice__(self
, i
, j
): del self
.data
[i
:j
]
31 def __add__(self
, list):
32 if type(list) == type(self
.data
):
33 return self
.__class
__(self
.data
+ list)
35 return self
.__class
__(self
.data
+ list.data
)
36 def __radd__(self
, list):
37 if type(list) == type(self
.data
):
38 return self
.__class
__(list + self
.data
)
40 return self
.__class
__(list.data
+ self
.data
)
42 return self
.__class
__(self
.data
*n
)
44 def append(self
, item
): self
.data
.append(item
)
45 def insert(self
, i
, item
): self
.data
.insert(i
, item
)
46 def pop(self
, i
=-1): return self
.data
.pop(i
)
47 def remove(self
, item
): self
.data
.remove(item
)
48 def count(self
, item
): return self
.data
.count(item
)
49 def index(self
, item
): return self
.data
.index(item
)
50 def reverse(self
): self
.data
.reverse()
51 def sort(self
, *args
): apply(self
.data
.sort
, args
)
52 def extend(self
, list): self
.data
.extend(list)