Ich möchte eine bestimmte Anzahl von Duplikaten einer Liste entfernen, ohne alle zu entfernen. Zum Beispiel habe ich eine Liste [1,2,3,4,4,4,4,4]
und ich möchte 3 der 4 entfernen, so dass ich mit [1,2,3,4,4]
verlassen werde. Eine naive Art und Weise ist es wahrscheinlichEinige Duplikate aus einer Liste in Python entfernen
def remove_n_duplicates(remove_from, what, how_many):
for j in range(how_many):
remove_from.remove(what)
Gibt es eine Möglichkeit, die drei 4 ist in einem Durchlauf durch die Liste zu tun zu tun wäre, zu entfernen, aber die beiden anderen halten.
@ dot.Py: Definitiv kein Duplikat davon, weil wir nur versuchen, eine begrenzte Anzahl von Elementen aus der Liste zu entfernen und Duplikate nicht vollständig zu eliminieren. – user2357112
Möchten Sie 'n' Duplikate entfernen? Oder behaupten, dass es höchstens "m" Duplikate eines gegebenen Gegenstandes gibt? – mgilson
Ist es auch wichtig, welche Duplikate entfernt werden? (z. B. können Sie die _first_ 4 Dupes entfernen oder müssten es die letzten 4 sein?) – mgilson