所以我一直在試圖讓這兩個函數工作,當我做他們的工作,他們sepretly,但是當我結合使用elif函數的兩個函數,它只運行第1功能和打印出位置列表,以及一個錯誤說「的neighbour_list沒有定義」兩個函數讀取一個txt文件,使用elif
這是我的代碼
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],[]] 額外的空字符串,這是不假設在那裏,但在這之前,一切都很好
那麼你的功能在哪裏? – Kasramvd 2014-09-28 13:14:00
對不起,我還沒有處理語言,我的意思是我的2個不同的循環獲取position_list和neighbour_list – 13python 2014-09-28 13:16:17
'else my_list [2] ==「」:'應該引發了一個SyntaxError。你是不是指「elif ...」? (或只是'else:'?) – unutbu 2014-09-28 13:16:53