1
1
"""Queue represented by a Python list"""
2
2
3
3
from collections .abc import Iterable
4
- from typing import Generic , TypeVar
5
4
6
- _T = TypeVar ("_T" )
7
5
8
-
9
- class QueueByList (Generic [_T ]):
10
- def __init__ (self , iterable : Iterable [_T ] | None = None ) -> None :
6
+ class QueueByList [T ]:
7
+ def __init__ (self , iterable : Iterable [T ] | None = None ) -> None :
11
8
"""
12
9
>>> QueueByList()
13
10
Queue(())
@@ -16,7 +13,7 @@ def __init__(self, iterable: Iterable[_T] | None = None) -> None:
16
13
>>> QueueByList((i**2 for i in range(1, 4)))
17
14
Queue((1, 4, 9))
18
15
"""
19
- self .entries : list [_T ] = list (iterable or [])
16
+ self .entries : list [T ] = list (iterable or [])
20
17
21
18
def __len__ (self ) -> int :
22
19
"""
@@ -58,7 +55,7 @@ def __repr__(self) -> str:
58
55
59
56
return f"Queue({ tuple (self .entries )} )"
60
57
61
- def put (self , item : _T ) -> None :
58
+ def put (self , item : T ) -> None :
62
59
"""Put `item` to the Queue
63
60
64
61
>>> queue = QueueByList()
@@ -72,7 +69,7 @@ def put(self, item: _T) -> None:
72
69
73
70
self .entries .append (item )
74
71
75
- def get (self ) -> _T :
72
+ def get (self ) -> T :
76
73
"""
77
74
Get `item` from the Queue
78
75
@@ -118,7 +115,7 @@ def rotate(self, rotation: int) -> None:
118
115
for _ in range (rotation ):
119
116
put (get (0 ))
120
117
121
- def get_front (self ) -> _T :
118
+ def get_front (self ) -> T :
122
119
"""Get the front item from the Queue
123
120
124
121
>>> queue = QueueByList((10, 20, 30))
0 commit comments