mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-07-06 02:13:15 +08:00
Pyupgrade to Python 3.9 (#4718)
* Pyupgrade to Python 3.9 * updating DIRECTORY.md Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
This commit is contained in:
@ -5,7 +5,6 @@ from __future__ import annotations
|
||||
|
||||
from collections.abc import Iterable, Iterator
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
test_data_odd = (3, 9, -11, 0, 7, 5, 1, -1)
|
||||
test_data_even = (4, 6, 2, 0, 8, 10, 3, -2)
|
||||
@ -14,12 +13,12 @@ test_data_even = (4, 6, 2, 0, 8, 10, 3, -2)
|
||||
@dataclass
|
||||
class Node:
|
||||
data: int
|
||||
next: Optional[Node]
|
||||
next: Node | None
|
||||
|
||||
|
||||
class SortedLinkedList:
|
||||
def __init__(self, ints: Iterable[int]) -> None:
|
||||
self.head: Optional[Node] = None
|
||||
self.head: Node | None = None
|
||||
for i in reversed(sorted(ints)):
|
||||
self.head = Node(i, self.head)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
from typing import List
|
||||
from __future__ import annotations
|
||||
|
||||
|
||||
class Node:
|
||||
@ -16,7 +16,7 @@ class Node:
|
||||
return "->".join(string_rep)
|
||||
|
||||
|
||||
def make_linked_list(elements_list: List):
|
||||
def make_linked_list(elements_list: list):
|
||||
"""Creates a Linked List from the elements of the given sequence
|
||||
(list/tuple) and returns the head of the Linked List.
|
||||
>>> make_linked_list([])
|
||||
|
@ -2,11 +2,10 @@
|
||||
Based on "Skip Lists: A Probabilistic Alternative to Balanced Trees" by William Pugh
|
||||
https://epaperpress.com/sortsearch/download/skiplist.pdf
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from random import random
|
||||
from typing import Generic, Optional, TypeVar
|
||||
from typing import Generic, TypeVar
|
||||
|
||||
KT = TypeVar("KT")
|
||||
VT = TypeVar("VT")
|
||||
@ -124,7 +123,7 @@ class SkipList(Generic[KT, VT]):
|
||||
|
||||
return level
|
||||
|
||||
def _locate_node(self, key) -> tuple[Optional[Node[KT, VT]], list[Node[KT, VT]]]:
|
||||
def _locate_node(self, key) -> tuple[Node[KT, VT] | None, list[Node[KT, VT]]]:
|
||||
"""
|
||||
:param key: Searched key,
|
||||
:return: Tuple with searched node (or None if given key is not present)
|
||||
@ -222,7 +221,7 @@ class SkipList(Generic[KT, VT]):
|
||||
else:
|
||||
update_node.forward[i] = new_node
|
||||
|
||||
def find(self, key: VT) -> Optional[VT]:
|
||||
def find(self, key: VT) -> VT | None:
|
||||
"""
|
||||
:param key: Search key.
|
||||
:return: Value associated with given key or None if given key is not present.
|
||||
|
Reference in New Issue
Block a user