Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 18, 2023 14:21:55

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

Чтение вложенного словаря

 dict =  {
        'A': 'A1', }
print(' '.join(dict.get(letter.upper(), letter) for letter in text))
так работает

 forwardTable = {
  'A': {'A2' : 'AA'}
 }
print(' '.join(dict.get(letter.upper(), letter) for letter in text))
как тут переписать? где А будет заменятся в text на AA

Отредактировано Genabox (Янв. 18, 2023 14:22:24)

Офлайн

#2 Янв. 18, 2023 16:01:42

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1394
Репутация: +  124  -
Профиль   Отправить e-mail  

Чтение вложенного словаря

Genabox
как тут переписать? где А будет заменятся в text на AA
оформляй задачу так:
на входе такие-то данные, на выходе должны получиться такие-то данные

Офлайн

#3 Янв. 18, 2023 16:36:25

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

Чтение вложенного словаря

 text = 'пример текста который изменяется'
forwardTable = {
  'a': {'A2' : 'AA'}
 }
print(' '.join(dict.get(letter.upper(), letter) for letter in text))
>>>пример текстAA который изменяется

Офлайн

#4 Янв. 18, 2023 18:49:50

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1394
Репутация: +  124  -
Профиль   Отправить e-mail  

Чтение вложенного словаря

  
text = 'пример текста который изменяется'
forwardTable = {
  'а': {'A2' : 'AA'}
 }
 
def process(text, dict_changes):
    new_dict = {k : v2 for k, v in dict_changes.items() for k2, v2 in v.items()}
    out = ''
    for i in text:
        out += new_dict.get(i) or i
    return out
 
print(process(text, forwardTable))

Офлайн

#5 Янв. 18, 2023 22:20:07

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

Чтение вложенного словаря

 from transliterate import translit
ru_text = 'пример текста который изменяется'
text = translit(ru_text, language_code='ru', reversed=True)
print(text)
forwardTable = {
  'a': {'A2' : 'AA'}
 }
 
def process(text, forwardTable):
    new_dict = {k : v2 for k, v in forwardTable.items() for k2, v2 in v.items()}
    out = ''
    for i in text:
        out += new_dict.get(i) or i
    return out
 
print(process(text, forwardTable))

сработало
primer teksta kotoryj izmenjaetsja
primer tekstAA kotoryj izmenjAAetsjAA

спасибо большое за помощь, я бы такое не написал!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version