1.列表中嵌套字典以字典的某个键值进行排序。
第一种方法:
temp = [{'name':'a', 'age':20}, {'name':'b', 'age':30}, {'name':'c', 'age':25}]
sorted函数有返回值,排序后不会影响原来的列表
res_list = sorted(temp, key=lambda x:x['age'], reverse=True)
print(res_list)
print(temp)
其执行结果如下图:
第二种方法:
应用列表的sort方法会改变原始列表,其sort方法没有返回值
temp = [{'name':'a', 'age':20}, {'name':'b', 'age':30}, {'name':'c', 'age':25}]
temp.sort(key=lambda x:x['age'], reverse=True)
print(temp)
其执行结果如下图
2.对一个字典进行排序
dic = {'a':4 , 'b':1 , 'c': 3} print(sorted(dic.items(), key=lambda x:x[1], reverse=True)) print(dic)
3.把字符串'abc, bcd, efg' 转换成 'gfe, dcb, cba'
注意:字符串是不可变量
a_str = 'abc, bcd, efg'
print(', '.join(a_str[::-1].split(' ,')))
4.选择排序
def other_sort(a_list):
n=len(a_list)
for i in range(n-1):
max_index=i
for j in range(i+1,n):
if a_list[max_index]<a_list[j]:
max_index=j
if max_index != i:
a_list[i], a_list[max_index]=a_list[max_index], a_list[i]