把所有 list(set(...)) 改为 sorted(set(...)),确保去重后顺序稳定

This commit is contained in:
2026-03-08 21:05:57 +08:00
parent b3d58379ef
commit d55e23bc44
3 changed files with 9 additions and 9 deletions
@@ -140,7 +140,7 @@ def area_output_num_ki_improve(
final_center = []
all_node_iter = []
if similarity.index.is_unique == False:
total_center_num = len(list(set(similarity.index)))
total_center_num = len(set(similarity.index))
else:
total_center_num = len(similarity.index)
@@ -155,7 +155,7 @@ def area_output_num_ki_improve(
final_area = final_area + candidate_group[top_center_index[j]]
all_node_iter = all_node_iter + list(new_all_node[top_center_index[j]])
final_center.append(top_center)
final_area = list(set(final_area))
final_area = sorted(set(final_area))
if len(final_area) > top_pipe_num_max:
if_end = 0
@@ -171,7 +171,7 @@ def area_output_num_ki_improve(
top_center = similarity.index[i]
top_center_index = candidate_center.index(top_center)
temp_group = final_area + candidate_group[top_center_index]
temp_area = list(set(temp_group))
temp_area = sorted(set(temp_group))
if len(temp_area) < top_pipe_num_min:
@@ -196,8 +196,8 @@ def area_output_num_ki_improve(
final_area = temp_area
break
final_center = list(set(final_center))
all_node_iter = list(set(all_node_iter))
final_center = sorted(set(final_center))
all_node_iter = sorted(set(all_node_iter))
return final_area, final_center, all_node_iter, if_end
@@ -592,8 +592,8 @@ def DN_search_multi_simple_add_flow_count_new(
final_area = final_area + final_area_t
final_center = final_center + final_center_t
final_area = list(set(final_area))
final_center = list(set(final_center))
final_area = sorted(set(final_area))
final_center = sorted(set(final_center))
if if_end == 1:
exit_condition = "candidate_area_if_end"
break
@@ -32,7 +32,7 @@ def read_inf_inp(wn):
pipe = wn.get_link(p)
if pipe.initial_status == 0: # 状态为'Closed'
n_pipe.append(p)
candidate_pipe_init = list(set(all_pipe) - set(n_pipe))
candidate_pipe_init = sorted(set(all_pipe) - set(n_pipe))
pipe_start_node = wn.query_link_attribute(
"start_node_name", link_type=wntr.network.model.Pipe
)
@@ -37,7 +37,7 @@ def pick_center_pipe(node_x, node_y, candidate_pipe, pipe_start_node, pipe_end_n
def find_new_center_pipe(
node_x, node_y, candidate_pipe, pipe_start_node, pipe_end_node, record_center
):
new_candidate_pipe = list(set(candidate_pipe) - set(record_center))
new_candidate_pipe = sorted(set(candidate_pipe) - set(record_center))
if new_candidate_pipe == []:
new_candidate_pipe = candidate_pipe
center_t = pick_center_pipe(