# sort()与sorted()的不同在于,sort是在原位重新排列列表,而sorted()是产生一个新的列表。sort()方法只能用在列表中。
d = {'g': 24, 'a': 52, 'l': 12, 'k': 33}
num = sorted(d.keys())
b = dict(num)
print(type(b))
print(b)
d = {'g': 24, 'a': 52, 'l': 12, 'k': 33}
num = sorted(d.values())
a = dict(num)
print(type(a))
print(a)
d = {'g': 24, 'a': 52, 'l': 12, 'k': 33}
for i in d.items(): # i出来就是元组
print(i)
key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。对lambda后面的变量,按照冒号后面的方法进行排序。
d = {'g': 24, 'a': 52, 'l': 12, 'k': 33}
num = sorted(d.items(), key=lambda x: x[1])
print(num)
# 要求1.正数在前负数在后 2.整数从小到大 3.负数从大到小
list = [7, -8, 5, 4, 0, -2, -5]
result = sorted(list, key=lambda x: (x < 0, abs(x)))
print(result)
# 这是一个字符串排序,排序规则:小写<大写<奇数<偶数
s = 'asdf234GDSdsf23' # 排序:小写-大写-奇数-偶数
a = sorted(s, key=lambda x: (x.isdigit() and int(x) % 2 == 0, x.isdigit(), x.isupper(), x))
print("".join(a))
# 这是一个列表排序,排序规则:以id为主且为顺序,id相同比较title,且也为顺序
v = [{'title': 'b', 'id': 5},
{'title': 'a', 'id': 5},
{'title': 'c', 'id': 2},
{'title': 'b', 'id': 2},
{'title': 'a', 'id': 2},
{'title': 'd', 'id': 3}]
new_list = sorted(v, key=lambda x: (x['id'], x['title']))
print(new_list)