在用这个函数注意要在python2中执行
sorted()函数 可以对数字(从小到大、从大到小)或字符串(ASCII)进行排序,默认升序进行排序
对数字进行排序:
list1 = [1,52,2,44,1132,43,25,3]
# 默认按照升序排序
rs = sorted(list1)
print(rs)
结果:[1, 4, 23, 35, 43, 44, 555, 1132]
# 实现一个按照降序排序的函数
# 如果x>y 返回-1 ,如果x<y返回1,是按照降序排序
# 如果x>y 返回1 x<y 返回-1 按照默认的升序排列
def reversed(x, y):
if x >y :
return 1
if x <y :
return -1
return 0
rs = sorted(list1,reversed)
print(rs)
结果:[1132, 555, 44, 43, 35, 23, 4, 1]
对字符排序:
list2 = ['f','s','g','u','i','q','l']
rs = sorted(list2,reversed)
print(rs)
结果:['u', 's', 'q', 'l', 'i', 'g', 'f']
# 如果需要实现字符串的排序,忽略大小写,只按照小写的a-z进行排序
list3 = ['if','With','BOY','Adc','case','sesion','asd']
def char_sort(string1, string2):
# 把两个字符串全部转换为为小写或者大写
s1 = string1.upper()
s2 = string2.upper()
if s1 > s2:
return -1
if s1 < s2:
return 1
return 0
rs = sorted(list3,char_sort)
print(rs)
结果:['With', 'sesion', 'if', 'case', 'BOY', 'asd', 'Adc']