Wie diese Umbenennung Problem mit etwas Einmaliges wie "_DUPLICATED_#NO"
die Namen Duplikate zu lösen, ohne Rückgriff sein müssen, um die Umbenennung einzigartig, wenn Sie fertig, und vorzugsweise mit iterativen Zahlen bezeichnen Anzahl von DuplikatenPython Umbenennung Duplikate
from collections import defaultdict
l = ["hello1","hello2","hello3",
"hello","hello","hello"]
tally = defaultdict(lambda:-1)
for i in range(len(l)):
e = l[i]
tally[e] += 1
if tally[e] > 0:
e += str(tally[e])
l[i] = e
print (l)
Ergebnisse:
['hello1', 'hello2', 'hello3', 'hello', 'hello1', 'hello2']
wie Sie sehen können, sind die Namen nicht eindeutig zuzuordnen
@PRMoureu behoben. Whoops, Algorithmen sind schwer;) Das wird '['hallo1', 'hallo1']' in '['hallo1', 'hallo11']' verwandeln, aber ich kann mir keine großartige Möglichkeit vorstellen, eine Lösung zu verallgemeinern, die das würde erzeuge '['hallo1', 'hallo2']' in einer Weise, die andere weniger offensichtliche Kantenfälle nicht unterbricht. –
das ist in Ordnung, gut gemacht, habe nicht daran gedacht zu verwenden, während> _ < – citizen2077
@new_to_coding meine edit überprüfen, wenn Sie dies verwenden, um Dateien zu erstellen. –