【问题标题】:Create a dictionary using PyEnchant Language Dictionarie使用 PyEnchant 语言字典创建字典
【发布时间】:2017-01-02 04:48:11
【问题描述】:

我正在尝试从我使用 PyEnchant 的英语词典创建一个新词典。例如:英语单词--> 'new' to become--> 'new':1e1n1w (我在数字母按字母顺序) 我的问题是我不知道如何访问英语词典的对象,因此我可以制作重复结构并创建新词典或更改此词典。(我有两个制作词典的文件,一个 FFT 和一个 txt .)

【问题讨论】:

  • 您想知道如何将“new”转换为“1e1n1w”吗?这是你的问题吗?

标签: python python-3.x dictionary pyenchant


【解决方案1】:

从一个单词开始,将其转换为字母计数/字母格式,按字母顺序排序:

from collections import Counter

s = "new"

c = Counter(s)

print("".join(["{}{}".format(v,k) for k,v in sorted(c.items())]))
  • 使用为此目的制作的特殊 Counter 字典计算单词的字母
  • 通过迭代计数器键和值(已排序),使用列表理解创建新的“单词”,使用str.join 重新创建字符串

结果:1e1n1w

使用 listcomps 从输入列表(这里:2 项)创建列表的单行:

newlist = ["".join(["{}{}".format(v,k) for k,v in sorted(Counter(word).items())]) for word in ['new','hello']]

结果:

['1e1n1w', '1e1h2l1o']

【讨论】:

  • 不需要 for 循环,c = Counter(s) 可以完成这项工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-11
  • 1970-01-01
  • 2018-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
相关资源
最近更新 更多