所以我一直在试图让这两个函数工作,当我做他们的工作,他们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