python3-列表排序和字典排序

item = {"a":2,"c":1,"b":3}
print(type(item))
print(item)
#结果:<class 'dict'>
#结果:{'a': 2, 'c': 1, 'b': 3}

#对字典直接用函数sorted排序,是将字典键key提取出来并对key进行排序并将key存储在list中
#这种对键key的排序,目的是为了得到value;可以简单拿到最大key对应的value
item1 = sorted(item)
print(type(item1))
print(item1)
#结果:<class 'list'>
#结果:['a', 'b', 'c']

#对字典排序仅能用函数sorted,不能用方法sort。
#故对字典排序常用list将字典转为元组列表集合,再采用方法sort对转换后的元组列表集合进行排序
#对字典用item.item(),同时保留键key+值value并以元组形式存储在list中
T = list(item.items())
print(type(T))
print(T)
#结果:<class 'list'>
#结果:[('a', 2), ('c', 1), ('b', 3)]

#以元组列表中元组的第0位为关键字倒序
T.sort(key=lambda x:x[0],reverse=True)
print(T)
#结果:[('c', 1), ('b', 3), ('a', 2)]

#以元组列表中元组的第0位为关键字正序
T.sort(key=lambda x:x[0],reverse=False)
print(T)
#结果:[('a', 2), ('b', 3), ('c', 1)]

#以元组列表中元组的第1位为关键字倒序
T.sort(key=lambda x:x[1],reverse=True)
print(T)
#结果:[('b', 3), ('a', 2), ('c', 1)]

#以元组列表中元组的第1位为关键字正序
T.sort(key=lambda x:x[1],reverse=False)
print(T)
#结果:[('c', 1), ('a', 2), ('b', 3)]

#对字典直接用list,仅保留键key并存储在list中
T1 = list(item)
print(T1)
#结果:['a', 'c', 'b']

#对字典用item.keys(),仅保留键key并存储在list中
T2 = list(item.keys())
print(T2)
#结果:['a', 'c', 'b']

#对字典用item.values(),仅保留值value并存储在list中
T3 = list(item.values())
print(T3)
#结果:[2, 1, 3]
#——————————————————————————————————————————————————————————————
#对list排序,采用sort方法
T = [1,2,3,4,5,6,9,8,1,2]
T.sort(reverse=False)
print(T)
#结果:[1, 1, 2, 2, 3, 4, 5, 6, 8, 9]

T.sort(reverse=True)
print(T)
#结果:[9, 8, 6, 5, 4, 3, 2, 2, 1, 1]

#对list排序,采用sorted函数
T1 = [1,2,3,4,5,6,9,8,1,2]
T1 = sorted(T1,reverse=False)
print(T1)
#结果:[1, 1, 2, 2, 3, 4, 5, 6, 8, 9]

T1 = sorted(T1,reverse=True)
print(T1)
#结果:[9, 8, 6, 5, 4, 3, 2, 2, 1, 1]
#——————————————————————————————————————————————————————————————
#将字典转为元组列表再转为字典
dict = {"b":3,"c":1,"a":2}
print(dict)
#结果:{'b': 3, 'c': 1, 'a': 2}

#字典转为元组列表
T = list(dict.items())
print(T)
#结果:[('b', 3), ('c', 1), ('a', 2)]

#元组列表转为字典
key1 = []
value1 = []
item1 = {}
for i in range (len(T)):
    key1.append(T[i][0])
print(key1)
#结果:['b', 'c', 'a']

for j in range (len(T)):
    value1.append(T[j][1])
print(value1)
#结果:[3, 1, 2]

for z in range (len(key1)):
    item1[key1[z]] = value1[z]
print(item1)
#结果:{'b': 3, 'c': 1, 'a': 2}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值