Exemple #1
0
    def __getitem__(self, key):
        key = strict(key.__index__())
        if key < 0:
            key = len(self) + key

        if key == 0:
            return self._car
        else:
            return self._cdr[key - 1]
Exemple #2
0
    def __getitem__(self, key):
        key = strict(key.__index__())
        if key < 0:
            key = len(self) + key

        if key == 0:
            return self._car
        else:
            return self._cdr[key - 1]
Exemple #3
0
    def __getitem__(self, key):
        if isinstance(key, slice):
            return _from_iter(
                islice(iter(self), key.start, key.stop, key.step), )

        key = strict(index(key))
        if key < 0:
            key = len(self) + key

        if key == 0:
            return self.car
        else:
            return self.cdr[key - 1]
Exemple #4
0
    def __getitem__(self, key):
        if isinstance(key, slice):
            return _from_iter(
                islice(iter(self), key.start, key.stop, key.step),
            )

        key = strict(index(key))
        if key < 0:
            key = len(self) + key

        if key == 0:
            return self.car
        else:
            return self.cdr[key - 1]
Exemple #5
0
 def __strict__(self):
     try:
         return self._strict
     except AttributeError:
         self._strict = ns = (strict(self.car), ) + strict(self.cdr)
         return ns
Exemple #6
0
 def __eq__(self, other):
     return strict(self) == strict(other)
Exemple #7
0
 def __str__(self):
     return str(strict(self))
Exemple #8
0
 def __repr__(self):
     return repr(strict(self))
Exemple #9
0
 def __len__(self):
     return len(strict(self))
Exemple #10
0
 def __len__(self):
     return len(strict(self))
Exemple #11
0
 def __repr__(self):
     return repr(strict(self))
Exemple #12
0
 def _normal_form(self):
     ns = (self._car,) + strict(self._cdr)
     self._normal_form = lambda: ns
     return ns
Exemple #13
0
 def __str__(self):
     return str(strict(self))
Exemple #14
0
 def __strict__(self):
     try:
         return self._strict
     except AttributeError:
         self._strict = ns = (strict(self.car),) + strict(self.cdr)
         return ns
Exemple #15
0
 def __eq__(self, other):
     return strict(self) == strict(other)
Exemple #16
0
 def _normal_form(self):
     ns = (self._car, ) + strict(self._cdr)
     self._normal_form = lambda: ns
     return ns