У меня есть некоторые данные, которые создают массив чисел. Иногда числа могут повторяться. Я хочу создать уникальное имя файла для каждого номера. Таким образом, я придумал хак, чтобы включить 2 цифры в конце каждого числа, и увеличивать его всякий раз, когда есть повтор
В некоторых случаях программа работает нормально и некоторое время не работает должным образом.
numbers = [10, 20, 30, 30, 40, 50, 50, 50, 50, 60]
filenames = []
def check_name(checkFileName):
if checkFileName in filenames:
checkFileName += 1
check_name(checkFileName)
return checkFileName
else:
print("Def-Filename :", checkFileName)
return checkFileName
for number in numbers:
stringNumber = str(number)
tempFileName = stringNumber + "00"
tempFileInt = int(tempFileName)
permFileName = check_name(tempFileInt)
filenames.append(permFileName)
print("Permanent File Name :", permFileName)
print(filenames)
А на выходе
Def-Filename : 1000
Permanent File Name : 1000
[1000]
Def-Filename : 2000
Permanent File Name : 2000
[1000, 2000]
Def-Filename : 3000
Permanent File Name : 3000
[1000, 2000, 3000]
Def-Filename : 3001
Permanent File Name : 3001
[1000, 2000, 3000, 3001]
Def-Filename : 4000
Permanent File Name : 4000
[1000, 2000, 3000, 3001, 4000]
Def-Filename : 5000
Permanent File Name : 5000
[1000, 2000, 3000, 3001, 4000, 5000]
Def-Filename : 5001
Permanent File Name : 5001
[1000, 2000, 3000, 3001, 4000, 5000, 5001]
Def-Filename : 5002
Permanent File Name : 5001
[1000, 2000, 3000, 3001, 4000, 5000, 5001, 5001]
Def-Filename : 5002
Permanent File Name : 5001
[1000, 2000, 3000, 3001, 4000, 5000, 5001, 5001, 5001]
Def-Filename : 6000
Permanent File Name : 6000
[1000, 2000, 3000, 3001, 4000, 5000, 5001, 5001, 5001, 6000]
Где я иду не так?