Уведомления

Группа в Telegram: @pythonsu

#1 Март 14, 2017 19:54:25

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

Словари. Значения ключей.

Есть проблема. У меня в скрипте лежит словарь, у которого все ключи - это русские буквы, а все значения этих ключей - их перевод на азбуку морзе. Мне нужно чтобы я мог брать не только значения с помощью ключей, но и ключи с помощью значений. Например:

  
dicr = dict(a="-**-", b = "**-", c="-*", d="**-**") # Перевод не верен, но не суть
text = "-**- **-"
result = ""
for c in range(0, len(text)):
    if text[c] == " ":
        result += " probel "
    else:
        result += # И вот как-раз здесь мне и нужно перевести буквы в морзе
Хелп плиз! Кому не жалко - подкинте идейку!)

Отредактировано python335 (Март 14, 2017 19:55:22)

Офлайн

#2 Март 14, 2017 20:19:28

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Словари. Значения ключей.

так создай два словаря

 >> d = dict(a=1,b=2,c=3)
>>> d
{'a': 1, 'c': 3, 'b': 2}
>>> d1 = {}
>>> for i in d:
	d1[d[i]] = i
	
>>> d
{'a': 1, 'c': 3, 'b': 2}
>>> d1
{1: 'a', 2: 'b', 3: 'c'}
>>> 
 text = "-**- **-"
l = text.split(' ')
for i in l: 
    if i in d1: print d1[i]

Офлайн

#3 Март 14, 2017 20:21:50

Stright
От: Кострома
Зарегистрирован: 2015-01-20
Сообщения: 139
Репутация: +  16  -
Профиль   Отправить e-mail  

Словари. Значения ключей.

 letters_to_morse = dict(a="-**-", b = "**-", c="-*", d="**-**")
morse_to_letters = {v: k for k, v in letters_to_morse.items()}
def translate_to_text(morse_code):
    return ' '.join(morse_to_letters[symbol] for symbol in morse_code.split())
def translate_to_morse(text):
    return ' '.join(letters_to_morse[letter] for letter in text)

Офлайн

#4 Март 14, 2017 20:21:56

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

Словари. Значения ключей.

Спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version