job_IDs = ['13453', '123', '563456'] memory_used = [30, 150.54, 20.6] memory_units = ['MB', 'GB', 'MB'] width = max(map(len, job_IDs)) + 1 # +1 for ':' for jid, mem, unit in zip(job_IDs, memory_used, memory_units): print("Job {jid:{width}} {part[0]:>3}{part[1]:1}{part[2]:<2} {unit:2}".format( jid=jid+':', width=width, part=str(mem).partition('.'), unit=unit))