c++ - C++ 和 Python 中的预定义文本替换

标签 c++ python text

作为一个爱好项目,我想用 C++ 和 Python(两者)实现摩尔斯电码编码器和解码器。我想知道我应该为此使用正确的数据结构。这个问题不仅与这个特定项目有关,而且一般来说,当必须进行预定义的文本替换时,最好和最快的方法是什么?

如果可能的话,我会避免重新发明任何数据结构(我认为是)。请注意,这纯粹是一种学习练习,我一直想知道最好的方法是什么。也许我可以将代码和相应的字符存储在字典中,然后遍历文本并进行替换。这是最好的方法还是我可以做得更好?

最佳答案

from collections import defaultdict

morsecode = [('a','._'), ('b','_...'), ('c','_._.')]
codedict = defaultdict(lambda:' ')
for k,v in morsecode:
    codedict[k] = v

tomorse = lambda x: ' '.join([codedict[chr] for chr in x])

print tomorse('bab cab')

给予:

_... ._ _...   _._. ._ _...

关于c++ - C++ 和 Python 中的预定义文本替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3718304/

相关文章:

c++ - 在链表中插入 'n' 节点并打印其数据(C++)

python - 如何用Python修改IPv4 header ?

python - django-paypal 设置

r - 从 R 中的数字和字母列表中分离多个数字

ios - 一种更轻松的发现文本书写方向的方法

java - 在图表上添加文本字段

c++ - 传递动态大小的数组(不允许使用参数)

c++ - constexpr 对象有什么方法可以引用/指向其他非静态 constexpr 对象吗?

c++ - 是否可以阻止引用的向上转换?

python - Matplotlib 忽略 3D 图中的负值