2016-11-10 7 views
0

私が作成した隣接行列でテキストファイルに含まれるパスのセットが有効かどうかを調べる必要があります。文字列をインデックスのリストに変換する

myList = [] 
myList.append([]) 
myList.append([]) 
myList.append([]) 
myList.append([]) 
myList.append([]) 
myList[0] = [False,True,False,False,True] 
myList[1] = [True,False,True,True,False] 
myList[2] = [False,True,False,True,True] 
myList[3] = [False,True,True,False,True] 
myList[4] = [True,False,True,True,False] 


myFile = open("numbers.txt","r+") 

def admatrix(myList, myFile): 
    for nextline in myFile: 
     nextline = [int(x)-1 for x in list(myFile.strip())] 
     for a,b in zip(path, path[1:]): 
      if not myList[a][b]: 
       return False 
      else: 
       return True 

print admatrix(myFile, myList) 

これは、現在私が持っているコードが、この行に

nextline = [int(x)-1 for x in list(myFile.strip())] 

である私は、エラーメッセージが出続ける:

AttributeError: 'list'object has no attribute 'strip' 

私はこの問題を解決するにはどうすればよい、私は初心者ですこれは私が完全に間違っているかもしれないので、どんな助けも大歓迎です。

+0

すべきではないあなたは、パラメータ –

+0

'印刷admatrix(のmyFile、はmyList)' VS 'デフadmatrix(はmyList、のmyFile)を切り替える:' –

+0

はまた、ループ内で 'nextline'の値を変更することは何もしません、あなたがしようとしていることは本当に明確ではありません。ブール値の代わりに整数が必要な場合は、数値でリストを開始する –

答えて

0

私はあなたが2つの変数を混乱させていると思います。私はあなたが欲しい期待することは次のとおりです。

nextline = [int(x)-1 for x in list(nextline.strip())] 

そして、あなたは関数を呼び出す下部にあるあなたは引数名を入れ替えてきたように、それはそうです。それは、print admatrix(myList, myFile)

関連する問題