Sorry; Ich weiß, dass es tausend "make unique list" -Threads gibt. Ich habe versucht, das alleine zu lösen oder eine andere Lösung zu "machen", aber ich war mit meinen nicht erstaunlichen Python-Fähigkeiten nicht erfolgreich.Python: Eindeutige Liste (basierend auf einem Teil des Dateipfads)
Ich habe eine Liste von Videodateinamen (das sind Aufnahmen in einem Film). Für jeden gegebenen Schuss möchte ich Duplikate entfernen, basierend auf einem Teil des Pfades (im Bild unten rot eingekreist); nur der mit dem höchsten Wert tk_ sollte in der endgültigen Liste enden.
beispiel Im Bild unten, für Schuss de05_001 nur tk_3 sollte in der Liste landen.
Eingang (mit Dubletten):
raw_list = ['D:\\de05\\de05_001\\postvis\\tk_2\\blasts\\tb205_de05_001.POSTVIS.mov',
'D:\\de05\\de05_001\\postvis\\tk_3\\blasts\\tb205_de05_001.POSTVIS.mov',
'D:\\de05\\de05_002\\postvis\\tk_1\\blasts\\tb205_de05_002.POSTVIS.mov',
'D:\\de05\\de05_017\\postvis\\tk_2\\blasts\\tb205_de05_017.POSTVIS.mov',
'D:\\de05\\de05_019\\postvis\\tk_2\\blasts\\tb205_de05_019.POSTVIS.mov',
'D:\\de05\\de05_019\\postvis\\tk_3\\blasts\\tb205_de05_019.POSTVIS.mov',
'D:\\de05\\de05_019\\postvis\\tk_4\\blasts\\tb205_de05_019.POSTVIS.mov',
'D:\\de05\\de05_019\\postvis\\tk_1\\blasts\\tb205_de05_019.POSTVIS.mov', ]
Ausgang (Duplikate entfernt, nur höchste tk_ Zahlen bleiben):
outputList = ['D:\\de05\\de05_001\\postvis\\tk_3\\blasts\\tb205_de05_001.POSTVIS.mov',
'D:\\de05\\de05_002\\postvis\\tk_1\\blasts\\tb205_de05_002.POSTVIS.mov',
'D:\\de05\\de05_017\\postvis\\tk_2\\blasts\\tb205_de05_017.POSTVIS.mov',
'D:\\de05\\de05_019\\postvis\\tk_4\\blasts\\tb205_de05_019.POSTVIS.mov', ]
Jede Hilfe wäre toll. Vielen Dank.
geben Sie uns ein Beispiel Ein- und Ausgang (im Klartext, nicht Screenshots, kopieren wir können so) – Bahrom
Es gibt auch ein 'tk_4', sollte das nicht derjenige sein, in der am Ende Liste? –
@BubbleHacker Ich weiß, es ist schwer zu sehen, aber das tk_4 ist eine andere Aufnahme -de05_019 (der grün eingekreiste Teil ist anders.). Für diesen Schuss wäre es tatsächlich in der endgültigen Liste, da alle anderen de05_019 eine niedrigere tk_ Nummer haben. – samusugiru