Python: Określ, czy niesortowana lista znajduje się na „liście list”, niezależnie od kolejności elementów

Podobne pytanie mam do tego pytania:Określ, czy 2 listy mają te same elementy, niezależnie od kolejności?

Jaki jest najlepszy / najszybszy sposób określenia, czy lista jest nieposortowanalist1 znajduje się na „liście list”myListOfLists, niezależnie od kolejności elementówlist1? Moja próba jest zapełniona funkcjądoSomething(...) które nazywam wielokrotnie:

def doSomething(myListOfLists, otherInputs):

    list1 = []
    ...  # do something here with `otherInputs' 
    ...  # which gives `list1' some values

    # now only append `list1' to `myListOfLists' if it doesn't already exist
    # and if it does exist, remove it

    removeFromList = False
    for myList in myListOfLists:
        if sorted(list1) == sorted(myList):
            removeFromList = True
            break

    if removeFromList:
        myListOfLists.remove(list1)
    else:
        myListOfLists.append(list1)

    return myListOfLists

Problem polega na tym, że muszę uruchomić tę funkcjędoSomething(...) około 1.0e5 razy. Tak jakmyListOfLists staje się większy z każdym wezwaniemdoSomething(...) staje się to bardzo czasochłonne.

EDYTOWAĆ:

Pewne wyjaśnienie zadania. Podam tutaj przykład pożądanego wyjścia:

a = []
doSomething(a, [1,2,3])
>> a = [1,2,3]

Bo[1,2,3] nie ma wa, jest dołączony doa.

doSomething(a, [3,4,5])
>> a = [[1,2,3], [3,4,5]]

Bo[3,4,5] nie ma wa, jest dołączony doa.

doSomething(a, [1,2,3])
>>[3,4,5]

Bo[1,2,3] jest wa, jest usuwany za.

EDYTOWAĆ:

Wszystkie listy mają tę samą długość.

questionAnswers(4)

yourAnswerToTheQuestion