1

Python のリストから重複を削除するのは簡単です (順序を維持します):

def removeDuplicates(sequence):    
    checked = []
    for element in sequence:
        if element not in checked:
            checked.append(element)
    return checked

しかし、重複の最後のインスタンス (つまり: ) を削除したい場合は、どうすれば[1,1,1,2,2,2] -> [1,1,2,2]よいですか?

4

5 に答える 5

1

私のpythonはあまり良くありませんが、これはどうですか:

>>> l = [1,1,1,2,2,2]
>>> last_occ=[len(l) - 1 - l[::-1].index(i) for i in set(l)] # Find position of each last occurence
>>> for pos in last_occ[::-1]: # Reverse the occurrence list otherwise you may get an IndexError 
    l.pop(pos)
>>> l
[1, 1, 2, 2]
于 2013-10-16T20:08:41.883 に答える