我目前正在构建一个程序,想知道如何根据最小到最大的数字对字母数字列表进行排序。
array1 = ["14f","9c","2d","7a"]
我希望数字可以像这样[[2d“,” 7a“,” 9c“,” 14f“]进行排序
感谢您的帮助。
答案 0 :(得分:1)
您可以将sorted
与自定义key
函数一起使用,以便对列表进行排序:
import re
sorted(array1, key = lambda x: int(re.search(r'\d+', x)[0]))
# ['2d', '7a', '9c', '14f']
此自定义key
函数使用re.search
在每个字符串中提取数字的地方:
[int(re.search(r'\d+', i)[0]) for i in array1]
# [14, 9, 2, 7]