把所有 list(set(...)) 改为 sorted(set(...)),确保去重后顺序稳定
This commit is contained in:
@@ -140,7 +140,7 @@ def area_output_num_ki_improve(
|
|||||||
final_center = []
|
final_center = []
|
||||||
all_node_iter = []
|
all_node_iter = []
|
||||||
if similarity.index.is_unique == False:
|
if similarity.index.is_unique == False:
|
||||||
total_center_num = len(list(set(similarity.index)))
|
total_center_num = len(set(similarity.index))
|
||||||
else:
|
else:
|
||||||
total_center_num = len(similarity.index)
|
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]]
|
final_area = final_area + candidate_group[top_center_index[j]]
|
||||||
all_node_iter = all_node_iter + list(new_all_node[top_center_index[j]])
|
all_node_iter = all_node_iter + list(new_all_node[top_center_index[j]])
|
||||||
final_center.append(top_center)
|
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 len(final_area) > top_pipe_num_max:
|
||||||
if_end = 0
|
if_end = 0
|
||||||
@@ -171,7 +171,7 @@ def area_output_num_ki_improve(
|
|||||||
top_center = similarity.index[i]
|
top_center = similarity.index[i]
|
||||||
top_center_index = candidate_center.index(top_center)
|
top_center_index = candidate_center.index(top_center)
|
||||||
temp_group = final_area + candidate_group[top_center_index]
|
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:
|
if len(temp_area) < top_pipe_num_min:
|
||||||
|
|
||||||
@@ -196,8 +196,8 @@ def area_output_num_ki_improve(
|
|||||||
final_area = temp_area
|
final_area = temp_area
|
||||||
break
|
break
|
||||||
|
|
||||||
final_center = list(set(final_center))
|
final_center = sorted(set(final_center))
|
||||||
all_node_iter = list(set(all_node_iter))
|
all_node_iter = sorted(set(all_node_iter))
|
||||||
return final_area, final_center, all_node_iter, if_end
|
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_area = final_area + final_area_t
|
||||||
final_center = final_center + final_center_t
|
final_center = final_center + final_center_t
|
||||||
|
|
||||||
final_area = list(set(final_area))
|
final_area = sorted(set(final_area))
|
||||||
final_center = list(set(final_center))
|
final_center = sorted(set(final_center))
|
||||||
if if_end == 1:
|
if if_end == 1:
|
||||||
exit_condition = "candidate_area_if_end"
|
exit_condition = "candidate_area_if_end"
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ def read_inf_inp(wn):
|
|||||||
pipe = wn.get_link(p)
|
pipe = wn.get_link(p)
|
||||||
if pipe.initial_status == 0: # 状态为'Closed'
|
if pipe.initial_status == 0: # 状态为'Closed'
|
||||||
n_pipe.append(p)
|
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(
|
pipe_start_node = wn.query_link_attribute(
|
||||||
"start_node_name", link_type=wntr.network.model.Pipe
|
"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(
|
def find_new_center_pipe(
|
||||||
node_x, node_y, candidate_pipe, pipe_start_node, pipe_end_node, record_center
|
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 == []:
|
if new_candidate_pipe == []:
|
||||||
new_candidate_pipe = candidate_pipe
|
new_candidate_pipe = candidate_pipe
|
||||||
center_t = pick_center_pipe(
|
center_t = pick_center_pipe(
|
||||||
|
|||||||
Reference in New Issue
Block a user