博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python对字典分别按键(key)和值(value)进行排序
阅读量:6177 次
发布时间:2019-06-21

本文共 1658 字,大约阅读时间需要 5 分钟。

方法一:
#
使用
sorted
函数进行排序
'''
sorted(iterable,key,reverse)
sorted
一共有
iterable,key,reverse
这三个参数
;
其中
iterable
表示可以迭代的对象,例如可以是
dict.items()
dict.keys()
key
是一个函数,用来选取参与比较的元素,
reverse
则是用来指定排序是倒序还是顺序,
reverse=true
则是倒序,
reverse=false
时则是顺序,默认时
reverse=false
'''
#
初始化字典
dict_data={
6
:
9
,
10
:
5
,
3
:
11
,
8
:
2
,
7
:
6
}
1、对字典按键(key)进行排序
#
对字典按键(
key
)进行排序(默认由小到大)
test_data_0=
sorted
(dict_data.
keys
())
#
输出结果
print
(test_data_0)
#[3, 6, 7, 8, 10]
test_data_1=
sorted
(dict_data.
items
(),
key
=
lambda
x:x[
0
])
#
输出结果
print
(test_data_1)
#[(3, 11), (6, 9), (7, 6), (8, 2), (10, 5)]
2、对字典按值(value)进行排序
#
对字典按值(
value
)进行排序(默认由小到大)
test_data_2=
sorted
(dict_data.
items
(),
key
=
lambda
x:x[
1
])
#
输出结果
print
(test_data_2)
#[('8', 2), ('10', 5), ('7', 6), ('6', 9), ('3', 11)]
test_data_3=
sorted
(dict_data.
items
(),
key
=
lambda
x:x[
1
],
reverse
=
True
)
#
输出结果
print
(test_data_3)
#[('3', 11), ('6', 9), ('7', 6), ('10', 5), ('8', 2)]

方法二:
import
operator
#
初始化字典
dict_data={
6
:
9
,
10
:
5
,
3
:
11
,
8
:
2
,
7
:
6
}
#
按键(
key
)进行排序
test_data_4=
sorted
(dict_data.
items
(),
key
=operator.
itemgetter
(
0
))
test_data_5=
sorted
(dict_data.
items
(),
key
=operator.
itemgetter
(
0
),
reverse
=
True
)
print
(test_data_4)
#[(3, 11), (6, 9), (7, 6), (8, 2), (10, 5)]
print
(test_data_5)
#[(10, 5), (8, 2), (7, 6), (6, 9), (3, 11)]
#
按值(
value
)进行排序
test_data_6=
sorted
(dict_data.
items
(),
key
=operator.
itemgetter
(
1
))
test_data_7=
sorted
(dict_data.
items
(),
key
=operator.
itemgetter
(
1
),
reverse
=
True
)
print
(test_data_6)
#[(8, 2), (10, 5), (7, 6), (6, 9), (3, 11)]
print
(test_data_7)
#[(3, 11), (6, 9), (7, 6), (10, 5), (8, 2)]

转载地址:http://pqzda.baihongyu.com/

你可能感兴趣的文章
安装系统前的准备---vmware
查看>>
Tiny并行计算框架之使用介绍
查看>>
Linux od命令
查看>>
一个不错的MySQL集群管理工具
查看>>
mysql-proxy 按表分发查询的lua脚本
查看>>
在wordpress主题下面添加二级菜单
查看>>
CentOS 下JDK安装
查看>>
Nginx + Django
查看>>
我的友情链接
查看>>
用shell脚本编写进度条
查看>>
使用Live555类库实现的网络直播系统
查看>>
IO与NIO
查看>>
go_wed编程笔记
查看>>
iptables防火墙的使用
查看>>
浅谈js中的继承
查看>>
软件工程 之 画扇面
查看>>
zabbix mysql数据库迁移方案
查看>>
VirtualBox虚拟机网络设置(四种方式)
查看>>
[C# 基础知识系列]专题十六:Linq介绍
查看>>
Cisco 胖瘦AP转换
查看>>