Skip to content

Commit 5021b3a

Browse files
committed
Extend lists for efficiency
1 parent aeb0ee7 commit 5021b3a

File tree

3 files changed

+6
-8
lines changed

3 files changed

+6
-8
lines changed

wayfarer/functions.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ def get_edges_from_nodes(
419419
**edge._asdict()
420420
) # unpack namedtuple to **kwargs
421421

422-
edge_list += node_edges
422+
edge_list.extend(node_edges)
423423

424424
if return_unique:
425425
return list({v.key: v for v in edge_list}.values())
@@ -495,7 +495,7 @@ def get_nodes_from_edges(edges):
495495
if edge_atts[WITH_DIRECTION_FIELD] is False:
496496
nodes = reversed(nodes)
497497

498-
all_nodes += nodes
498+
all_nodes.extend(nodes)
499499

500500
# return a unique ordered list
501501
return list(OrderedDict.fromkeys(all_nodes))

wayfarer/routing.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def solve_shortest_path_from_edges(
109109

110110
if edge.start_node == edge.end_node:
111111
# self-loop
112-
edges += functions.get_edges_from_nodes(net, end_nodes)
112+
edges.extend(functions.get_edges_from_nodes(net, end_nodes))
113113
else:
114114
try:
115115
nodes = solve_shortest_path_from_nodes(net, node_list)
@@ -118,7 +118,7 @@ def solve_shortest_path_from_edges(
118118
log.warning(ex)
119119
raise
120120

121-
edges += functions.get_edges_from_nodes(net, nodes)
121+
edges.extend(functions.get_edges_from_nodes(net, nodes))
122122

123123
# reset original length - note not in original implementation
124124
# ensure this is only reset after get_edges_from_nodes has been called
@@ -130,7 +130,7 @@ def solve_shortest_path_from_edges(
130130
net, [edge.start_node, edge.end_node]
131131
)
132132
if loop_edges:
133-
edges += loop_edges
133+
edges.extend(loop_edges)
134134

135135
previous_edge_nodes = end_nodes
136136

@@ -196,13 +196,11 @@ def solve_matching_path(
196196
all_shortest_paths.append([start_node])
197197

198198
for path_nodes in all_shortest_paths:
199-
200199
all_paths = functions.get_all_paths_from_nodes(
201200
net, path_nodes, with_direction_flag=True
202201
)
203202

204203
for path_edges in all_paths:
205-
206204
if include_key and include_key not in [e.key for e in path_edges]:
207205
continue
208206
path_length = functions.get_path_length(path_edges)

wayfarer/splitter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ def get_split_nodes(split_edges: list[Edge]) -> list[int | str]:
201201
split_nodes = []
202202

203203
for split_edge in split_edges:
204-
nodes += [split_edge.start_node, split_edge.end_node]
204+
nodes.extend([split_edge.start_node, split_edge.end_node])
205205

206206
for n in set(nodes):
207207
if SPLIT_KEY_SEPARATOR in str(n):

0 commit comments

Comments
 (0)