1 / 1 / 0
Регистрация: 27.03.2020
Сообщений: 18

Поиск строки в списке

14.10.2020, 00:02. Показов 10034. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветик))
Мне нужно в списке "а" найти совпадение.
Вот пример кода:
Python
1
2
3
4
5
6
7
8
a = ['Казань', 'Москва,', 'Питербург']
b = 'Питер'
 
for i in a:
    if b in i:
        print('Город есть')
    else:
        print('Города нет')
Вместо принтов я буду выводить в лог, и мне не нравится, что он несколько раз пишет "Города нет". А если у меня 50 строк в списке будет? то весь лог забьется...

Мне бы хотелось так:
Если города нет, то один раз вывод "Города нет, если город есть, то вывод "Город есть".


p/s. Еще вот такой вариант:
Python
1
2
3
4
if b in a:
    print('Город есть')
else:
    print('Города нет')
Но он тоже не устраивает, так как он ищет точное совпадение, а мне нужно примерное. Питербург == Питер

Подскажите пожалуйста, как мне сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.10.2020, 00:02
Ответы с готовыми решениями:

Поиск самой длинной строки в списке
Всем привет, захотел написать программу, которая по заданному текстовому файл будет находить саму длинную строку, выводить ее на экран,...

Быстрый поиск строки в списке строк
Здравствуйте. Необходимо реализовать быстрый поиск строки в списке строк в целях исследования (изучения) на Java. Теперь подробнее. ...

Поиск строки в списке по подстроке в любой позиции
Из исходного списка выбрать строки, которое содержит подстроку "и" в любой позиции List<string> MyList = new...

6
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
14.10.2020, 00:08
Лучший ответ Сообщение было отмечено naripi6291 как решение

Решение

Может быть, так
Python
1
2
3
4
5
6
7
8
a = ['Казань', 'Москва,', 'Питербург']
b = 'Питер'
 
 
if b in ''.join(a):
    print('Город есть')
else:
    print('Города нет')
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
14.10.2020, 04:36
naripi6291,
Python
1
2
3
4
5
6
7
8
9
10
a = ['Казань', 'Москва,', 'Питербург']
b = 'Питер'
flag = 1
for i in a:
    if b in i:
        print('Город есть')
        flag = 0
        break
if flag :
    print('Города нет')
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
14.10.2020, 05:44
Цитата Сообщение от Fury67 Посмотреть сообщение
''.join(a)
скорее
Python
1
' '.join()
0
1 / 1 / 0
Регистрация: 27.03.2020
Сообщений: 18
14.10.2020, 15:56  [ТС]
Спасибо! Все идеально работает.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.10.2020, 17:15
Лучший ответ Сообщение было отмечено Gdez как решение

Решение

Gdez,
Вместо флага есть доп. ветка циклов for\while (это так сказать, редкоиспользуемый эксклюзив Python, больше нигде такого вроде как нет):

Python
1
2
3
4
5
6
for i in a:
    if b in i:
        print('Город есть')
        break
else:
    print('Города нет')
2
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
14.10.2020, 18:06
Garry Galler, а вот это действительно интересно и полезно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2020, 18:06
Помогаю со студенческими работами здесь

Быстрый поиск строки в списке строк с предварительным хешированием
Здравствуйте. Необходимо реализовать быстрый поиск строки в списке строк с предварительным хешированием в целях исследования (изучения). ...

Поиск слова по 3 или более подряд совпадающих символов текстовой строки в списке с учетом регистра
Надо найти в таблице нужное слово и вывести его по 3 и более символам с учетом регистра.

Как выделить цветом строки в выпадающем списке до выбора конкретной строки?
Доброго дня! вопрос в сабже. Суть: есть список похожих позиций (маркер 1, маркер 2, маркер 3, ручка 1, ручка 2, ручка 3), на них настроен...

Отсортировать строки в лексикографическом порядке по возрастанию, проверить наличие введенной строки в списке
Здравствуйте! Нужна помощь с выполнением следующего задания. Заранее спасибо. Создать список строк и заполнить его случайными строками...

Поиск в списке
Мне нужно сделать визуализацию, но ее нет, т.к. все закрашевается только после того как цикл отработает. как сделать что бы было видно...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru