С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/88: Рейтинг темы: голосов - 88, средняя оценка - 4.50
60 / 60 / 54
Регистрация: 19.02.2012
Сообщений: 262

Как заменить слова в списке по словарю?

12.09.2013, 22:21. Показов 18290. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
даны список слов и словарь. нужно сделать замены в списке таким образом, чтобы при совпадении слова в списке с ключом в словаре происходила замена этого слова на значение при этом ключе. сам пытался, но выдает ошибку. что нужно исправить?
Python
1
2
3
4
5
6
7
8
9
10
11
12
a = ['Mam', 'Dad', 'Else', 'Cat', 'Dog']
b = dict(Dad = 'Uncle', Cat = 'Cow')
c = b.keys()
d = b.values()
for i in a:
    for j in c:
        if a[i] == c[j]:
            a[i] = d[j]
        else:
            continue
 
print a
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2013, 22:21
Ответы с готовыми решениями:

Как найти в списке слова, которые есть в предыдущем списке
Добрый день. Нужна ваша помощь Как найти в списке слово, которое есть в предыдущем списке? Вот сам код def lest(lst1,lst2): ...

Как заменить строку на строку по словарю замен?
Здравствуйте! Искал в интернете как можно заменить строки на строки и толком ничего не нашёл, некий гугл и яндекс, возомнили себя...

Autocomplete по словарю с учетом частоты появления слова
Как реализовать autocomplete для набираемого слова в текстовом редакторе (при вводе первых букв показывать несколько возможных завершений...

5
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
12.09.2013, 22:42
ioane,
Python
1
2
3
4
5
6
7
a = ['Mam', 'Dad', 'Else', 'Cat', 'Dog']
b = {'Dad' : 'Uncle', 'Cat' : 'Cow'}
for item in a:
   if item in b
        a[a.index(item)]=b[item]
        
print a
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
13.09.2013, 03:53
Python
1
2
3
4
5
6
7
8
9
10
11
12
>>> a = ['Mam', 'Dad', 'Else', 'Cat', 'Dog']
>>> b = dict(Dad='Uncle', Cat='Cow')
>>> 
>>> for i, e in enumerate(a):
...     if e in b:
...         a[i] = b[e]
... 
>>> print a
['Mam', 'Uncle', 'Else', 'Cow', 'Dog']
>>> print b
{'Dad': 'Uncle', 'Cat': 'Cow'}
>>>
1
Kokos72
01.10.2013, 10:57
можно построчно прокомментировать? и если несколько строк то как?
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
01.10.2013, 14:17
Python
1
2
3
4
5
6
a = ['Mam', 'Dad', 'Else', 'Cat', 'Dog']
b = dict(Dad = 'Uncle', Cat = 'Cow')
for (offset, item) in enumerate(a):
    if b.setdefault(item) is not None:
        a[offset] = b.setdefault(item)
print a
Функция enumerate возвращает индекс текущего элемента и сам элемент (offset - это номер текущего элемента; item - сам элемент)
Метод словаря setdefault возвращает значение ключа, а если не находи такой ключ, то возвращает None.
Думаю дальше все ясно.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
01.10.2013, 15:29
Цитата Сообщение от Kokos72 Посмотреть сообщение
и если несколько строк то как?
чего ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.10.2013, 15:29
Помогаю со студенческими работами здесь

Написать программу, исключающую в исходном тексте из каждого слова его окончание по словарю
Здравствуйте, помогите пожалуйста с задачей: Написать программу, исключающую в исходном тексте из каждого слова его окончание по словарю....

Написать программу, исключающую в исходном тексте из каждого слова его окончание по словарю
Помогите пожалуйста, не могу решить задачу (используя только базовые примитивы Lisp): Написать программу, исключающую в исходном...

существуют слова нужно заменить 3 гласные буквы и заменить их (целые слова) на знак *
Добро время суток вам.Можете помочь доделать задачку (Найти в тексте слова содержащие 3 гласные буквы и заменить их (целые слова) на знак...

Как заменить несколько элементов в списке
как заменить несколько элементов

Как заменить буквы в списке строк
Катя работает редактором в журнале. Журнал не очень прибыльный и приходится экономить на чернилах, поэтому вместо букв Ё/ё в текстах...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru