Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754

Как найти строки во втором файле, которые отсутствуют в первом?

06.02.2023, 19:37. Показов 1437. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Строки первого файла:
Шейнкмана
Луначарского
Карла Либкнехта
Малышева Октябьский район
8 Марта
Вайнера
Бажова
Куйбишева
Ленина проспект
Толмачева
Декабристов
Братьев Быковых
Шевченко
Мамина-Сибиряка
Народной Воли
Тургенева
Энгельса
Николая Никонова
Белинского
Куйбышева
Бориса Ельцина
Радищева
Хохрякова
Толмачёва
Тверитина
Попова
Восточная
Розы Люксембург
-----------------------------------------------------------------------------------------
Строки второго файла:
8 Марта
Белинского
Большакова
Восточная
Декабристов
Куйбышева
Ленина
Карла Либкнехта
Луначарского
МалышеваМосковская
Радищева
Свердлова
Челюскинцев

1905 года
Комсомольская
Куйбышева
Малышева
Парижской Коммуны
Советской Армии
Труда


Банковский переулок
Боевых Дружин
Вайнера
Антона Валека
Верх-Исетский бульвар
Воеводина
Володарского
Добролюбова
Бориса Ельцина
Маршала Жукова
Зелёная Роща
Народной Воли
Октябрьской Революции
Пестеревский переулок
Попова
Набережная Рабочей Молодёжи
Степана Разина
Сакко и Ванцетти
Переулок Сапёров
Театральный переулок
Университетский переулок
Урицкого
Февральской Революции
переулок Химиков
Хохрякова
переулок Центральный рынок
Чапаева
Чернышевского
Шейнкмана

Азина
Бажова
Братьев Быковых
Василия Ерёмина
Гоголя
Дзержинского
Короленко
Красноармейская
Красный переулок
Кузнечная
Лермонтова
Розы Люксембург
Мамина-Сибиряка
Мельковская
Карла Маркса
Мичурина
Сони Морозовой
Народной Воли
Николая Никонова
Первомайская
Пушкина
Почтовый переулок
Пролетарская
Испанских рабочих
Тверитина
Толмачёва
Тургенева
Физкультурнико
впереулок Цветоводов
Клары Цеткин
Шарташская
Шевченко
Энгельса

Добавлено через 13 минут
Сейчас подумал, что надо считать файлы в два списка и сравнить их. Сейчас буду пробовать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2023, 19:37
Ответы с готовыми решениями:

Вывести слова которые есть в первом файле, но отсутствуют во втором
Суть такова: Есть два файла в которых написаны слова. Вывести на экран все слова которые есть в первом файле, но отсутствуют во втором. ...

Найти слова, которые есть в первом предложении, но отсутствуют во втором
Найти все слова, которые есть в первом предложении и отсутствуют во втором.

Найти все слова, которые есть в первом предложении, и отсутствуют во втором
Найти все слова, которые есть в первом предложении и отсутствуют во втором.

12
312 / 192 / 98
Регистрация: 01.05.2014
Сообщений: 522
06.02.2023, 19:43
Python
1
2
3
4
5
with open('f1.txt', 'r', encoding='utf-8') as f1:
    with open('f2.txt', 'r', encoding='utf-8') as f2:
        for line in f2:
            if line not in f1:
                print(line.rstrip())
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
06.02.2023, 19:54  [ТС]
Благодарю. Только Шевченко например есть в обоих файлах и распечатывает тоже его. А надо чтобы только те строки, которых нет в первом файле.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
06.02.2023, 20:00
делаешь lower, закидываешь в сеты и дальше действия над множествами
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
06.02.2023, 21:05  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
lines = [line.rstrip('\n') for line in open('file1.txt', encoding="utf-8")]
lines2 = [line.rstrip('\n') for line in open('file2.txt', encoding="utf-8")]
 
 
otsytsvyet = set(lines2).difference(set(lines))
print("Разница:")
print(otsytsvyet)
print("Длина второго списка " + str(len(set(lines2)))) 
print("Длина первого списка " + str(len(set(lines)))) 
print("Количество отсутствующих элементов " + str(len(set(lines2)) - len(set(lines)))) 
print("Сумма элементов множеств разницы и первого списка " + str(len(set(lines)) + len(otsytsvyet))) 
print("Второй список:")
print(set(lines2))
print("=========================================================")
print("Первый список:")
print(set(lines))
Добавлено через 8 минут
Регистр понизил в Notepad++
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
06.02.2023, 21:08
Цитата Сообщение от supmener Посмотреть сообщение
МалышеваМосковская
знаю по себе, что такие задачи требуют мноооооооооооожества проверок, один косяк нашёл))
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
06.02.2023, 21:09  [ТС]
В списках увидел ошибки и поправил их.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
06.02.2023, 21:09
Цитата Сообщение от supmener Посмотреть сообщение
впереулок Цветоводов
вот и второй "косяк"
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
06.02.2023, 21:38  [ТС]
3 строки теряются, потому что в первом списке есть три строки, которых нет во втором.
Нашел их, поменяв в программе переменные местами и получил результат:
{'ленина проспект', 'куйбишева', 'толмачева'}

В списках исправил ошибки.
Первый список:
шейнкмана
луначарского
карла либкнехта
малышева
8 марта
вайнера
бажова
куйбишева
ленина проспект
толмачева
декабристов
братьев быковых
шевченко
мамина-сибиряка
народной воли
тургенева
энгельса
николая никонова
белинского
куйбышева
бориса ельцина
радищева
хохрякова
толмачёва
тверитина
попова
восточная
розы люксембург

---------------------------------------------------------

Второй список:
8 марта
белинского
большакова
восточная
декабристов
куйбышева
ленина
карла либкнехта
луначарского
малышева
московская
радищева
свердлова
челюскинцев
-----1905 года
комсомольская
парижской коммуны
советской армии
-----труда
банковский переулок
боевых дружин
вайнера
антона валека
верх-исетский бульвар
воеводина
володарского
добролюбова
бориса ельцина
маршала жукова
зелёная роща
народной воли
октябрьской революции
пестеревский переулок
попова
набережная рабочей молодёжи
степана разина
сакко и ванцетти
переулок сапёров
театральный переулок
университетский переулок
урицкого
февральской революции
переулок химиков
хохрякова
переулок центральный рынок
чапаева
чернышевского
шейнкмана
азина
бажова
братьев быковых
василия ерёмина
гоголя
дзержинского
короленко
красноармейская
красный переулок
кузнечная
лермонтова
розы люксембург
мамина-сибиряка
мельковская
карла маркса
мичурина
сони морозовой
николая никонова
первомайская
пушкина
почтовый переулок
пролетарская
испанских рабочих
тверитина
толмачёва
тургенева
физкультурников
переулок цветоводов
клары цеткин
шарташская
шевченко
энгельса

----------------------------------------------------------------------------------

Разница:
{'набережная рабочей молодёжи', 'воеводина', 'пестеревский переулок', 'переулок химиков', 'ленина', 'дзержинского', 'московская', 'сони морозовой', 'физкультурников', 'советской армии', 'переулок сапёров', 'переулок цветоводов', 'верх-исетский бульвар', 'клары цеткин', 'маршала жукова', 'шарташская', 'банковский переулок', 'красный переулок', 'первомайская', 'театральный переулок', 'лермонтова', 'чернышевского', 'мельковская', 'антона валека', 'пролетарская', 'свердлова', 'добролюбова', '-----труда', 'володарского', 'почтовый переулок', 'кузнечная', 'сакко и ванцетти', 'пушкина', 'переулок центральный рынок', 'азина', 'февральской революции', 'красноармейская', 'чапаева', '-----1905 года', 'октябрьской революции', 'боевых дружин', 'урицкого', 'университетский переулок', 'василия ерёмина', 'зелёная роща', 'испанских рабочих', 'челюскинцев', 'парижской коммуны', 'комсомольская', 'карла маркса', 'мичурина', 'степана разина', 'гоголя', 'короленко', 'большакова'}
Длина второго списка 80
Длина первого списка 28
Количество отсутствующих элементов 52
Сумма элементов множеств разницы и первого списка 83
Второй список:
{'воеводина', 'дзержинского', 'московская', 'советской армии', 'маршала жукова', 'театральный переулок', 'попова', 'пролетарская', 'вайнера', 'азина', 'октябрьской революции', 'мамина-сибиряка', 'радищева', 'урицкого', 'василия ерёмина', 'восточная', 'комсомольская', 'мельковская', 'степана разина', 'ленина', 'физкультурников', 'энгельса', 'клары цеткин', 'банковский переулок', 'красный переулок', 'карла либкнехта', 'володарского', 'декабристов', 'тургенева', 'шейнкмана', 'белинского', 'парижской коммуны', 'николая никонова', 'шевченко', 'короленко', 'большакова', 'набережная рабочей молодёжи', 'пестеревский переулок', 'переулок цветоводов', 'розы люксембург', 'первомайская', 'луначарского', 'антона валека', 'кузнечная', 'сакко и ванцетти', 'пушкина', 'братьев быковых', 'переулок центральный рынок', 'февральской революции', 'красноармейская', '-----1905 года', 'бориса ельцина', 'боевых дружин', 'университетский переулок', 'переулок химиков', 'сони морозовой', 'переулок сапёров', 'верх-исетский бульвар', 'шарташская', 'лермонтова', 'чернышевского', 'куйбышева', 'свердлова', 'добролюбова', '-----труда', 'почтовый переулок', 'хохрякова', 'тверитина', 'малышева', 'чапаева', 'народной воли', 'зелёная роща', 'испанских рабочих', 'челюскинцев', 'карла маркса', 'мичурина', 'толмачёва', 'гоголя', '8 марта', 'бажова'}
======================================== =================
Первый список:
{'энгельса', 'ленина проспект', 'розы люксембург', 'луначарского', 'карла либкнехта', 'попова', 'куйбышева', 'декабристов', 'хохрякова', 'тургенева', 'шейнкмана', 'тверитина', 'братьев быковых', 'малышева', 'вайнера', 'бориса ельцина', 'белинского', 'мамина-сибиряка', 'народной воли', 'куйбишева', 'радищева', 'толмачева', 'восточная', 'шевченко', 'николая никонова', 'толмачёва', '8 марта', 'бажова'}
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.02.2023, 15:36
Для адресов есть ФИАС и ГАР.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
09.02.2023, 15:45
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Для адресов есть ФИАС и ГАР.
кому, что надо, если по закону, то что-то наподобии:
АДМИНИСТРАЦИЯ ГОРОДА КИРОВА
ПОСТАНОВЛЕНИЕ
ОТ 13.03.2009 № 740-П
О реестрах элементов адресной привязки объектов недвижимости
на территории муниципального образования "Город Киров"
(с изменениями на 21 сентября 2017 года)
не знаю где Вы живёте но попробуйте найти для своего города-можете горя хлебнуть, а что там внутри - ужас, я их много повидал)
например буква ё - один раз встречается во всём документа в фамилии одного героя, а Березовая - нифига без ё
такие дела......
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.02.2023, 15:47
Не знаю, тысячи людей проходило через мои системы, только около сотни адресов операторы поленились найти и вбили вручную, остальные есть в ГАРе.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
09.02.2023, 15:49
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
остальные есть в ГАРе
а что главней он или закон?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.02.2023, 15:49
Помогаю со студенческими работами здесь

Найти все слова, которые есть в первом предложении и отсутствуют во втором
Подскажите, пожалуйста, как исправить, а то программа не работает! :( (defun MemberOf (obj lst) ((null lst) nil) ((equal obj...

Определить элементы, которые есть в первом и отсутствуют во втором массиве
помоги решить задачку: есть два datagrid'a, в них содержатся различные фамилии, нужно определить фамилию, которая отсутствует во втором...

Даны два слова, определить символы которые есть в первом слове и отсутствуют во втором
Даны два слова, определить символы которые есть в первом слове и отсутствуют во втором.

Найти слова в первом текстовом файле, которые есть во втором текстовом файле
Добрый день. Прошу помочь в написании маленького макроса на Python. Алгоритм описать могу, но навыков программирования не хватает. ...

Используя множества создать список элементов, которые есть в первом списке, но отсутствуют во втором.Исп. тип set
Даны два списка. С помощью множества создать список элементов, которые есть в первом списке, но отсутствуют во втором.Нужно...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru