我在将一个.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