Source code for secml.utils.list_utils

"""
.. module:: ListUtils
   :synopsis: Collection of mixed utilities for lists

.. moduleauthor:: Marco Melis <marco.melis@unica.it>

"""


[docs]def find_duplicates(l): """Find and returns a python set with input list duplicates. Parameters ---------- l : list List to examine. Returns ------- duplicates : set Python set with input list duplicates. Examples -------- >>> from secml.utils.list_utils import find_duplicates >>> l = ['1', '1', 2, '3', 2] >>> print(find_duplicates(l)) set(['1', 2]) References ---------- http://stackoverflow.com/questions/9835762/find-and-list-duplicates-in-python-list """ seen = set() seen2times = set() # Preallocating functions to add items rapidly seen_add = seen.add seen2times_add = seen2times.add for item in l: if item in seen: seen2times_add(item) else: seen_add(item) return seen2times