2016-04-17 150 views
0

在我的txt我有這樣的:閱讀TXT,放在矩陣蟒蛇

111111111111111111111 
101000100000010000001 
101011111011111110101 

我希望把文本文件作爲矩陣的行中的每一行,每一個0和1是一個數組元素。例如,M [0] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ]

然後我可以訪問M [1] [1],其中包含。

最近我在論壇上提了一個類似的問題,工作人員幫我用非常精簡的代碼解決得很好。目標是成爲一個列表。下面的代碼波紋管:

with open ('arq.txt') the buffer: 
    l = list (map (int, buffer.read(). replace ('\ n', ''))) 
print l 

而且我懷疑有人可以通過我的一些網站參照的功能,或一本書,你已經擁有了實驗,並建議初級,中級。視頻課程。我試圖在google上搜索一些網站,例如http://www.cplusplus.com/reference/,但發現沒有類似於python。官方的python沒有每個函數的例子。

回答

0

你可以試試這個:

with open ('arq.txt') as buffer: 
    mat = list(map(int, line.strip()) for line in buffer) 
print mat 
+0

「ValueError異常:空分隔符」 我試圖理解這個地圖和拆分功能,但我的英語不是很好。我在嘗試中遇到了同樣的錯誤。在文檔中有幾個使用的例子,所以我花了一段時間才明白。 – ialsafid

+0

@ialsafid,我認爲這應該是好現在 – smac89

+0

好帥哥! @ Smac89使用numpy,我可以輕鬆地在視覺上給印刷更有趣 - >> ** print(np.matrix(A))** – ialsafid

1

好吧,這是一個相當簡單的實際。不是最好看的一行代碼,但它很容易理解。

試試這個:

m = {} 
with open("args.txt") as f: 
    data=f.read().split() 
    for x in range(len(data)): 
    m[x]=list(data[x]) 
print(m) 
1
mat = [] 
with open('data.txt') as fin: 
    for line in fin: 
     row = [int(item) for item in line.strip()] 
     mat.append(row)