所以我一直试图让这两个函数工作,当我单独执行它们时,它们工作,但是当我使用 elif 函数组合这两个函数时,它只运行第一个函数并打印出位置列表,并且错误说“ neighbour_list 未定义”
这是我的代码
my_file=open("test_graph_1.txt","r")
x=[]
y=[]
nodenumber=[]
positionx=[]
positiony=[]
for row in my_file:
value=row[:-1]
my_list=value.split(",")
if len(my_list)==3:
nodenumber.append(int(my_list[0]))
positionx.append(int(my_list[1]))
positiony.append(int(my_list[2]))
nodenumber1 =[(nodenumber[a],positionx[a],positiony[a]) for a i range(len(nodenumber))]
position_list=tuple(nodenumber1)
elif len(my_list)==2:
x.append(int(my_list[0]))
y.append(int(my_list[1]))
l1 = [(x[i] , y[i]) for i in range(len(x))]
l2 = [(y[i] , x[i]) for i in range(len(x))]
l1.extend(l2)
neighbour_list=[[l[0] for l in l1 if l[1] == j] for j in range(len(x))]
print("position_list",position_list)
print("neigh",neighbour_list)
但是当我打印代码时,位置列表会很好,但是 neighbour_list 会像这样出现:[[4, 1], [0, 4, 2], [1, 3], [2, 5, 4], [ 3, 0, 1], [3], []] 额外的空字符串,它不应该存在,但在那之前一切都很好