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

时间:2018-03-25 13:32:11

标签: python list sorting numbers letters

例如,lista = [300KB, 12MB, 100KB, 1GB],我想处理lista,然后将其更改为[100KB, 300KB, 12MB, 1GB]

如何使用简单方法对其进行排序?

1 个答案:

答案 0 :(得分:3)

“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)