Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 2, 2012 18:50:49

leona
От:
Зарегистрирован: 2011-12-28
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

сравнение двух списков

Здравствуйте ! Подскажите, пожалуйста, как сравнить два списка (2 файла).
Условия: даны 2 списка. В обоих списках слова, только в одном списке для каждого слова даны еще количественные параметры его употребления.
Если грубо, то файлы так организованы.
1 список:
Пайтон
смыл
жизни
2 список:
Пайтон 4
Монти 4
жизни 2
по 6

Задача: как сравнить эти два списка и при совпадении единиц в этих двух списках вывести в отдельом файле не только совпадающие слова, но и их параметры, т.е. Пайтон 4, жизни 2.

Что тут лучше использовать, какие функции, словари, списки….не программист, в терминологии не очень разбираюсь.
Буду признательна за Вашу помощь !



Офлайн

#2 Июнь 2, 2012 19:11:59

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

сравнение двух списков

Примерно будет так:
- создаем пустой словарь (dict) для хранения word -> score
- открываем файл, где слова с номерами “file2.txt”.
- читаем каждую строку, очищаем ее от лишних пробелов и переводов строки
- разделяем каждую строку по пробелу и сохраняем в словаре: ключом будет слово, значением число
- потом читаем построчно первый файл со словами “file1.txt”
- каждую строку очищаем, получая слово
- проверяем есть ли слово в словаре, если есть печатаем слово и число.

#!/usr/bin/env python
with open('file2.txt') as f:
    scored_words = dict(line.strip().split() for line in f)
 
with open('file1.txt') as f:
    for line in f:
        word = line.strip()
        if word in scored_words:
            print word, scored_words[word]
Если слова будут из русских букв, нужно будет еще кодировку учитывать. Также, не будет лишним дать возможность указывать имена файлов пользователю, и т.п.

Отредактировано reclosedev (Июнь 2, 2012 19:13:50)

Офлайн

#3 Июнь 2, 2012 19:53:55

leona
От:
Зарегистрирован: 2011-12-28
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

сравнение двух списков

здорово! спасибо большое !!!!!!!

а как условие усложнить в цикле: чтобы на печать вывел не только те слова, которые есть в дрвух списках, но и те слова, которых нет в file2, т.е. взять те слова, на которые есть дополнительные параметры в file2, но напечатать все слова, которые есть в file1.


ах. попробую просто вывести несовпадающие, а потом соединить оба вывода.



Отредактировано leona (Июнь 2, 2012 20:07:40)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version