2017-01-01 5 views
1

Я пытаюсь создать новый словарь из англоязычного словаря, который я использую PyEnchant. Например: английское слово -> 'новое', чтобы стать -> 'новым': 1e1n1w (я пересчитываю буквы в алфавитном порядке) Моя проблема в том, что я не знаю, как получить доступ к объектам словаря на английском языке, поэтому я могу создать структуру повторения и создать словарь ne или изменить его. (У меня есть два файла . что сделать словарь, один FFT и один TXT)Создайте словарь, используя PyEnchant Language Dictionarie

+0

вы хотите знать, как преобразовать "новый" в "1e1n1w"? это ваш вопрос? –

ответ

1

Start от слова и преобразовать его в письме графа/формат письма, отсортированных по алфавиту:

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

однострочника, чтобы создать список из входного списка (здесь: 2 элементов) с помощью listcomps:

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

приводит:

['1e1n1w', '1e1h2l1o'] 
+0

Нет необходимости в цикле for, 'c = Counter (s)' будет выполнять эту работу. – hashcode55

+0

Я устал! Благодарю. –

 Смежные вопросы

  • Нет связанных вопросов^_^