from timeit import timeit
setup = """
lst = ["1. Banana", "2. Pear", "11. Apple", "5. Grapes", "4. Orange"]
d = dict((int(j[0]), j[1]) for j in [i.split('. ') for i in lst])
"""
str_join = "['. '.join((str(a), b)) for a, b in sorted(d.items())]"
str_format = "['{} {}'.format(a, b) for a, b in sorted(d.items())]"
print('str.join time:', timeit(stmt=str_join, setup=setup))
print('str.format time:', timeit(stmt=str_format, setup=setup))
ZnJvbSB0aW1laXQgaW1wb3J0IHRpbWVpdAoKCnNldHVwID0gIiIiCmxzdCA9IFsiMS4gQmFuYW5hIiwgIjIuIFBlYXIiLCAiMTEuIEFwcGxlIiwgIjUuIEdyYXBlcyIsICI0LiBPcmFuZ2UiXQpkID0gZGljdCgoaW50KGpbMF0pLCBqWzFdKSBmb3IgaiBpbiBbaS5zcGxpdCgnLiAnKSBmb3IgaSBpbiBsc3RdKQoiIiIKCnN0cl9qb2luID0gIlsnLiAnLmpvaW4oKHN0cihhKSwgYikpIGZvciBhLCBiIGluIHNvcnRlZChkLml0ZW1zKCkpXSIKc3RyX2Zvcm1hdCA9ICJbJ3t9IHt9Jy5mb3JtYXQoYSwgYikgZm9yIGEsIGIgaW4gc29ydGVkKGQuaXRlbXMoKSldIgoKcHJpbnQoJ3N0ci5qb2luIHRpbWU6JywgdGltZWl0KHN0bXQ9c3RyX2pvaW4sIHNldHVwPXNldHVwKSkKcHJpbnQoJ3N0ci5mb3JtYXQgdGltZTonLCB0aW1laXQoc3RtdD1zdHJfZm9ybWF0LCBzZXR1cD1zZXR1cCkpCg==