Значение может быть одиночным, входить в пару или повторяться три раза. Для поиска частот фильтруйте числа с помощью списочных выражений. Но помните, списочное выражение отбирает не уникальные числа, а все позиции нужной роли.
set
Если число встречается три раза, оно должно трижды попасть в отфильтрованный список (triple). Команда sum(set(triple)) уничтожит количество повторений.
triple
sum(set(triple))
[1, 1, 2, 2] — две пары и два одиночных; [1, 1, 1, 3] — одна тройка и три одиночных; [1, 3, 3] — две тройки и одно одиночное.
[1, 1, 2, 2]
[1, 1, 1, 3]
[1, 3, 3]
Следующий код строит частотный отпечаток трёх строк. Сами значения меняются, а структура остаётся читаемой. Поменяйте значения в списке, чтобы понять точную схему повторов.
(Демо-2025) В файле электронной таблицы 9-248.xls в каждой строке записаны шесть натуральных чисел. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
– в строке только одно число повторяется трижды, остальные числа различны; – квадрат суммы всех повторяющихся чисел строки больше квадрата суммы всех её неповторяющихся чисел.
В ответе запишите только число. Примечание Прикрепеленный к заданию файл откройте в редакторе электронных таблиц (LibreOffice Calc) и сохраните его в формате .csv. Откройте в блокноте и посмотрите разделитель между числами (обычно точка с запятой). Или просто скопируйте все числа в текстовый файл (через блокнот).
В H:M каждая позиция узнаёт, сколько раз её значение встречается в B:G. Щёлкни по любой ячейке count — увидишь её формулу.
Сравни две строки с одной тройкой. Структура одинакова, но числовое условие проходит только у одной.
Какая сигнатура соответствует одной тройке и трём одиночным числам?
len(set(a))
triple = [x for x in a if a.count(x) == 3]
len(set(triple)) == 1