[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Lovepython015/Python/master/Article/PythonBasis/python10/5.md [Back]  [Original]

# Container #

 Python : dict, tuple, list, string tuple, string dict, list 









|||
|------|------|
|| `__len__`  `__getitem__` |
|| `__setitem__`  `__delitem__` |
|| `__iter__` |
|| `__len__(self)` |
| `self[key]`  key TypeError key,ValueError| `__getitem__(self, key)`|
| 	`self[key] = value` | `__setitem__(self, key, value)`|
| `del self[key]`  | `__delitem__(self, key)`|
| `for x in container:`  `iter(container)` | `__iter__(self)` |

 Haskell 

```python
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

class FunctionalList:
    ''' list,: head, tail, init, last, drop, take'''

    def __init__(self, values=None):
        if values is None:
            self.values = []
        else:
            self.values = values

    def __len__(self):
        return len(self.values)

    def __getitem__(self, key):
        return self.values[key]

    def __setitem__(self, key, value):
        self.values[key] = value

    def __delitem__(self, key):
        del self.values[key]

    def __iter__(self):
        return iter(self.values)

    def __reversed__(self):
        return FunctionalList(reversed(self.values))

    def append(self, value):
        self.values.append(value)

    def head(self):
        # 
        return self.values[0]

    def tail(self):
        # 
        return self.values[1:]

    def init(self):
        # 
        return self.values[:-1]

    def last(self):
        # 
        return self.values[-1]

    def drop(self, n):
        # N
        return self.values[n:]

    def take(self, n):
        # N
        return self.values[:n]

```



Web Proxy Viewer  |  New URL  |  Original Page