Comment résoudre ce changement de nom de dupliquer problème sans avoir recours à renommer avec quelque chose d'unique comme "_DUPLICATED_#NO"
les noms doivent être uniques lorsque vous avez terminé, et de préférence avec des nombres itératives indiquant nombre de doublonschangement de nom Python doublons
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)
résultats:
['hello1', 'hello2', 'hello3', 'hello', 'hello1', 'hello2']
comme vous pouvez le voir, les noms ne sont pas uniques
@PRMoureu fixe. Oups, les algorithmes sont durs;) Cela va activer '['bonjour1', 'bonjour1']' dans '['bonjour1', 'bonjour11']', mais je ne peux pas penser à un excellent moyen de généraliser une solution qui serait produire '['bonjour1', 'bonjour2']' d'une manière qui ne briserait pas d'autres cas de bords moins évidents. –
c'est bien, bien fait, n'a pas pensé à utiliser alors que _ _ – citizen2077
@new_to_coding vérifier ma modification si vous utilisez ceci pour créer des fichiers. –