The aim is to create unique device names. If a device already exists with a similar name, append an integer incremented by 1 for each occurrence.
This is my approach:
def deviceNamesSystem(devicenames):
if not devicenames:
return None
unique_device_names = []
devices = Counter(devicenames) #Group devices by names
for device_name,occurence in devices.items():
for item_integer in range(occurence):
#Append integer if device name already in list of unique devices
if item_integer == 0:
unique_device_names.append(device_name)
else:
unique_device_names.append(f"{device_name}{item_integer}")
return unique_device_names
Input: ['lamp', 'lamp', 'tv', 'lamp']
Expected Output: ['lamp', 'lamp1', 'tv', 'lamp2']
My output: ['lamp', 'lamp1', 'lamp2', 'tv']