Skip to content

Commit 99b2cf7

Browse files
committed
refactor: use set in get_unique_id
1 parent 9b65916 commit 99b2cf7

File tree

1 file changed

+7
-19
lines changed

1 file changed

+7
-19
lines changed

json2xml/dicttoxml.py

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -39,25 +39,13 @@ def make_id(element: str, start: int = 100000, end: int = 999999) -> str:
3939

4040

4141
def get_unique_id(element: str) -> str:
42-
"""
43-
Generate a unique ID for a given element.
44-
45-
Args:
46-
element (str): The element to generate an ID for.
47-
48-
Returns:
49-
str: The unique ID.
50-
"""
51-
ids: list[str] = [] # initialize list of unique ids
52-
this_id = make_id(element)
53-
dup = True
54-
while dup:
55-
if this_id not in ids:
56-
dup = False
57-
ids.append(this_id)
58-
else:
59-
this_id = make_id(element)
60-
return ids[-1]
42+
"""Generate a unique ID for a given element using a set for efficiency."""
43+
ids: set[str] = set()
44+
while True:
45+
new_id = make_id(element)
46+
if new_id not in ids:
47+
ids.add(new_id)
48+
return new_id
6149

6250

6351
ELEMENT = Union[

0 commit comments

Comments
 (0)