python:如何对字母和数字列表进行排序

python: how to sort a list of letters and numbers

比如,lista = [300KB, 12MB, 100KB, 1GB],我想处理lista,然后改成[100KB, 300KB, 12MB, 1GB]

如何用简单的方法排序?

"lista" 必须是字符串列表。 sorted 是你的朋友。 Sorting Mini-HOW TO

def memory_mult(text):
    memory = {'KB':1024, 'MB':1024**2, 'GB':1024**3}
    num = text[:-2]
    mult = text[-2:]
    return int(num)*memory[mult]

sorted(lista, key=memory_mult)