Adds val to the end of the deque. Time complexity: O(1) >>> our_deque_1 = Deque([1, 2, 3]) >>> our_deque_1.append(4) >>> our_deque_1 [1, 2, 3, 4] >>> our_deque_2 = Deque('ab') >>> our_deque_2.append('c') >>> our_deque_2
(self, val: Any)
| 97 | self.append(val) |
| 98 | |
| 99 | def append(self, val: Any) -> None: |
| 100 | """ |
| 101 | Adds val to the end of the deque. |
| 102 | Time complexity: O(1) |
| 103 | >>> our_deque_1 = Deque([1, 2, 3]) |
| 104 | >>> our_deque_1.append(4) |
| 105 | >>> our_deque_1 |
| 106 | [1, 2, 3, 4] |
| 107 | >>> our_deque_2 = Deque('ab') |
| 108 | >>> our_deque_2.append('c') |
| 109 | >>> our_deque_2 |
| 110 | ['a', 'b', 'c'] |
| 111 | >>> from collections import deque |
| 112 | >>> deque_collections_1 = deque([1, 2, 3]) |
| 113 | >>> deque_collections_1.append(4) |
| 114 | >>> deque_collections_1 |
| 115 | deque([1, 2, 3, 4]) |
| 116 | >>> deque_collections_2 = deque('ab') |
| 117 | >>> deque_collections_2.append('c') |
| 118 | >>> deque_collections_2 |
| 119 | deque(['a', 'b', 'c']) |
| 120 | >>> list(our_deque_1) == list(deque_collections_1) |
| 121 | True |
| 122 | >>> list(our_deque_2) == list(deque_collections_2) |
| 123 | True |
| 124 | """ |
| 125 | node = self._Node(val, None, None) |
| 126 | if self.is_empty(): |
| 127 | # front = back |
| 128 | self._front = self._back = node |
| 129 | self._len = 1 |
| 130 | else: |
| 131 | # connect nodes |
| 132 | self._back.next_node = node |
| 133 | node.prev_node = self._back |
| 134 | self._back = node # assign new back to the new node |
| 135 | |
| 136 | self._len += 1 |
| 137 | |
| 138 | # make sure there were no errors |
| 139 | assert not self.is_empty(), "Error on appending value." |
| 140 | |
| 141 | def appendleft(self, val: Any) -> None: |
| 142 | """ |