def intersection(*args):
    """intersection prend en paramatre un nombre fini de listes.
    intersection fait l'intersection de listes python au sens des ensembles.
    exemple :
        intersection( [1,2,3], [2,3], [5,3,4]) == [3] #True
        intersection( [ (1,2), (3,4) ], [ (1,2), (2,2)] ) == [(1,2)] #True
    """

    # On utilise les fonctions intersection et intersection_de_2 récursivement
    # pour faire faire l'intersection des n listes
    def intersection_de_2(l1, l2):
        """Fait l'intersection de deux listes python au sens des ensembles."""
        resultat = []
        for i in l1:
            if i in l2:
                resultat.append(i)
        return resultat

    if len(args) == 1:
        return args[0]
    elif len(args) == 2:
        return intersection_de_2(args[0], args[1])

    return intersection(intersection_de_2(args[0], args[1]), *args[2:])