我在將一個.txt文件過濾到子列表中時遇到了一些麻煩,然後我可以將它們變成一個目錄。 來自text.txt的示例A2.-B4-...C4-.-.D3-..E1.F4..-.G3--.H4....75--...85---..95----.05-----.6.-.-.-,6--..--?6..--..!5..--.
沒有空格或換行符,它基本上是一行文本。
A2.-表示符號'A'在莫爾斯碼中有2個字符,並且它們是.-等。
我想要做的是將這個長字符串拆分爲子列表,然後我可以將它們拼合成一個目錄,然後我可以使用它來製作莫爾斯碼翻譯器。我希望程序做什麼:創建一個列表keyList,其中包含鍵A,B,C,...,?,。,
和另一個列表valueList,其中包含鍵的值。
但是由於密鑰不是全部字母,所以在整個文件中都有問題。
我曾嘗試:
python 3.4將文本文件過濾到列表中
import re
r = open("text.txt", "r")
ss = r.read()
p = re.compile('\w'+'\w')
keyList = p.findall(ss)
ValueList = p.split(ss)
print(keyList)
print(ValueList)
keyList = ['A2', 'B4', 'C4', 'D3',..., '75', '85', '95', '05']
ValueList = ['', '.-', '-...', '-.-.', '-..', space , !5..--.']
所看到的值列表將無法正常分裂,因爲 '\ W' + '\ W' 將只匹配字母數字字符..我試圖改變re.compile上的參數,但沒有找到任何有效的工具。任何幫助?是re.compiled做到這一點的最佳方式還是有另一種方法來過濾文本?
編輯:預期/希望輸出:
keyList = ['A','B','C','D',...,'.','?',',']
ValueList = ['.-','-...','-.-.','-..',...,'.-.-.-','..--..','--..--']
你想要的字母?像'A','B',..?你可以添加預期的輸出問題嗎? – Kasramvd 2014-12-01 17:52:02
是的,這實際上是我想要的,但是該列表不僅包含字母,甚至'。'。有一個莫爾斯密碼是。-.- .-
所以我想''。成爲關鍵和價值'。-。-.-'
– kroneckersdelta 2014-12-01 18:23:28
那麼數字呢?它更好地添加慾望輸出! – Kasramvd 2014-12-01 18:24:45