min
найти минимальное значение итерируемой функции. min(lst, key=func)
в Python можно грубо считать (игнорируя такие детали, как минимальный вызов f
или обход списка только один раз)
retval = lst[0]
for item in lst:
if func(item) < func(retval):
retval = item
return retval
В вашем случае он находит элемент v
в updated_unique_list
такой, что len(set(u) ^ set(v))
является минимальным.
Теперь ^
между двумя наборами - это их симметричная разница . set(u) ^ set(v)
возвращает набор элементов, которые не отображаются ни в u
, ни в v
. Размер результата будет равен нулю, если u
и v
равны, и максимален, если они вообще не перекрываются.
Поэтому функция пытается найти объект в updated_unique_list
, который имеет наиболее распространенные элементы с u
.
Если вы хотите "нормальную функцию", просто разверните min
в соответствии с алгоритмом, который я описал выше.