Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327

На какой именно элемент массива произошло совпадение

16.01.2022, 08:11. Показов 1439. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
sleva = '3'
if sleva in ('1', '2', '3'):
    print(fr'''пасс''')
else:
    print(fr'''что-то там''')
здравствуйте, подскажите, а как узнать на какой именно элемент массива произошло совпадение и чему он равен, в данном случае, это № 2 со значением '3'? Спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.01.2022, 08:11
Ответы с готовыми решениями:

Как определить на какой именно элемент кликнули
Смотрите, есть вот такая разметка: <div class="qstn"> <div class="button">+</div> <h3>Вопрос 1</h3> <div...

Сравнить каждый элемент с каждым, если есть совпадение, то соединить всю строку, в которой найдено совпадение
Доброго времени суток! Есть два массива строк разного размера (элементы массива разделены запятой). Необходимо сравнить каждый элемент с...

Определить, на какой минуте от начала года произошло событие, и какой это был день недели
2. Отделу, занимающемуся сбором и анализом дат исторических событий, написать программу, которая для введенной даты и времени исторического...

17
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
16.01.2022, 08:50
Python
1
2
3
target = '4'
arr = ('1', '2', '3', '4')
print(f'индекс значения: {target} == {arr.index(target)}')
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
16.01.2022, 08:51
Ципихович Эндрю, что значит чему он равен?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
16.01.2022, 09:11  [ТС]
ну лихо
Цитата Сообщение от Vigi Посмотреть сообщение
target = '4'
Цитата Сообщение от Vigi Посмотреть сообщение
{target}
а если хз что там в target, то есть придёт значение в процессе...
Цитата Сообщение от enx Посмотреть сообщение
что значит чему он равен?
ну так пояснил же
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
в данном случае, это № 2 со значением '3'
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
16.01.2022, 09:36
Ципихович Эндрю, мне иногда кажется, что тебя где-то замыкает. Ты проверяешь наличие элемента в коллекции, какая разница, заранее он задан, в процессе пришел или совы принесли, он на момент проверки определен и либо есть в коллекции, либо нет.

Давай сымитируем, что тебе приходит какая-то фигня, которую ты заранее не знаешь, так выведи ее туда, куда тебе нужно:


Python
1
2
3
4
5
a = __import__('random').choice('1234567890')
b = 'какая-то коллекция, допустим строка, 12345'
for index, element in enumerate(b):
    if element == a:
        print(a, index)
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
16.01.2022, 09:41  [ТС]
Цитата Сообщение от enx Посмотреть сообщение
мне иногда кажется, что тебя где-то замыкает
я ж не робот))
так в цикле всё ясно и понятно.........а без цикла?
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
16.01.2022, 09:54
Ципихович Эндрю, цикл будет в любом случае, так как происходит итерация, наличие то элемента проверяется до первого вхождения или конца коллекции. Но такая запись например, не эффективна:

Python
1
2
3
4
a = __import__('random').choice('1234567890')
b = 'какая-то коллекция, допустим строка, 12345'
if a in b:
    print(a, b.find(a))
Лучше так:

Python
1
2
3
4
a = __import__('random').choice('1234567890')
b = 'какая-то коллекция, допустим строка, 12345'
c = b.find(a)
print(f'Элемент {a} находится по индексу {c}' if c != -1 else f'Элемент {a} отсутствует')
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
16.01.2022, 10:43  [ТС]
видимо нужно дать пример из жизни? ок.......
представьте есть текстовый файл из 500 000 строк
его создают люди, которые иногда ошибаются, нужно их проверить и указать об ошибках, ошибки в файле могут быть разные:
..
==
!!
много
поэтому рождается:
Python
1
if '..' in s2: print(f'в файле: {f2} обнаружено: «..»')
и таких строк нужно также много, можно пойти путём:
Python
1
if ('..', '==', '!!') in s2: print(f'в файле: {f2} обнаружено: «..» или «==» или «!!» ')
так вот я такое резюме считаю плохим тоном, поэтому и спрашиваю как точно указать какая из ошибок найдена?
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
16.01.2022, 11:36
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
if ('..', '==', '!!') in s2
на этом мои полномочия все.

Добавлено через 1 минуту
На досуге подумай об этом:

Python
1
2
print((1, 2, 3) in (1, 2, 3, 4, 5, 6, 7, 8, 9))
print((1, 2, 3) in ((1, 2, 3), 1, 2, 3, 4, 5, 6, 7, 8, 9))
Bash
1
2
False
True
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
16.01.2022, 12:59  [ТС]
разобрался, бес попутал, подумал, что НЕ змее без разницы))
Python
1
2
if ('..', '==', '!!') in s2: print(f'в файле: {f2} обнаружено: «..» или «==» или «!!»') #НЕ правильно
if s2 in ('..', '==', '!!'): print(f'в файле: {f2} обнаружено: «..» или «==» или «!!»') #Правильно
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
16.01.2022, 13:07
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
разобрался, бес попутал, подумал, что НЕ змее без разницы))
а s2 это что? В строке
Python
1
if s2 in ('..', '==', '!!'): print(f'в файле: {f2} обнаружено: «..» или «==» или «!!»') #Правильно
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
16.01.2022, 13:11  [ТС]
Цитата Сообщение от Alexarh Посмотреть сообщение
а s2 это что? В строке
строка, например "аовпмтоавптовапкуге9не4г3е43рет43тепеку репщшукрепщшрушщешщ453е345е453н8е8345"
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
16.01.2022, 13:18
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
строка, например "аовпмтоавптовапкуге9не4г3е43рет43тепеку репщшукрепщшрушщешщ4 53е345е453н8е8345"
Python
1
2
if "аовпмтоавптовапкуге9не4г3е43рет43тепекурепщшукрепщшрушщешщ4 53е345е453н8е8345" in ('..', '==', '!!'):
    print('OK')
Какой тут будет результат?

Добавлено через 5 минут
Если без позиции, то можно так.
Python
1
2
3
s = "аовпмтоавптовапкуге9не4г3е43рет43тепек..урепщшукрепщшрушщешщ4 53е345е453н8е8345"
if any([x in s for x in ('..', '==', '!!')]):
    print(f'в файле: {f2} обнаружено: «..» или «==» или «!!»')
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
16.01.2022, 13:54  [ТС]
Цитата Сообщение от Alexarh Посмотреть сообщение
обнаружено: «..» или «==» или «!!»
так а как сделать, чтобы сообщало об одном в данном случае совпадении - «..»?
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
16.01.2022, 14:08
Лучший ответ Сообщение было отмечено Ципихович Эндрю как решение

Решение

Ципихович Эндрю,
Python
1
2
3
 s = ... # строки из файла
[print(f'в файле обнаружено "{elem}"')
 for elem in [x  for x in ('..', '==', '!!') if x in s]]
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
16.01.2022, 14:18  [ТС]
Gdez, гут:
Python
1
2
s = '00..00!!00=='
[print(f'в файле обнаружено «{elem}»') for elem in [x  for x in ('..', '==', '!!') if x in s]]
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
18.01.2022, 20:01  [ТС]
Python
1
2
s = '00..00!!00=='
[print(f'В файле обнаружено «{x}»') for x in ('..', '==', '!!') if x in s]
читал, что по мелочи но () быстрей чем []
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
04.03.2022, 11:33  [ТС]
подскажите, а как в коде:
Python
1
2
s = '00..00!!00=='
[print(f'В файле обнаружено «{x}»') for x in ('..', '==', '!!') if x in s]
1
после первого вывода принтом ошибки в случае её наличия сделать exit(0)
2
после вывода принтом всех ошибок в случае их наличия сделать exit(0)
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.03.2022, 11:33
Помогаю со студенческими работами здесь

Найдите вероятность того, что при передаче этого сообщения произошло именно искажение из «1» в «0»
1.При передаче цифрового информационного пакета возникают ошибки. Известно, что вероятность искажения «1» в «0» равна 1.5 * 10 в -3...

Проверить каждый элемент массива на совпадение с условием и записать в другой массив
Здравствуйте! Прошу вашей помощи. Задача: Дан массив, N;M. Необходимо заполнить массив рандомыми числами, проверить каждый элемент...

В какой строке произошло исключение
Здравствуйте, вопрос такой - есть несколько одинаковых строк с разными параметрами: pictureBox1.Load(изображения); ...

Как узнать в какой ячейке Grid произошло нажатие?
Имеется Grid 3х3. Каждое его поле разбито ещё на 3х3 тоже Grid'ом. Как при клике мышки, узнать на каком поле и в какой его ячейке произошло...

Получить элемент, на котором произошло событие
<div id = "container"> <span>Один</span> <span>Два</span> <span>Три</span> </div> $(document).on('click', '#container',...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru