だから私はこれらの2つの関数を機能させようとしてきましたが、別々に実行すると機能しますが、elif関数を使用して2つの関数を組み合わせると、最初の関数のみが実行され、位置リストが出力され、エラーが表示されます」 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], []] 余分な空の文字列。そこにあるとは想定されていませんが、その前は問題ありません