福安 网站建设,企业管理专业主要课程,ui设计有哪些,创新的大良网站建设0. 背景
Python排序功能十分强大#xff0c;可以进行基本排序或自定义排序。Python中提供两种不同的排序方法对各种各样的数据类型进行排序。
1. 使用sorted()函数排序
排序主要是对相同数据类型的元素进行的#xff0c;包括数值和字符串两种数据类型。
1.1 对数值进行排…0. 背景
Python排序功能十分强大可以进行基本排序或自定义排序。Python中提供两种不同的排序方法对各种各样的数据类型进行排序。
1. 使用sorted()函数排序
排序主要是对相同数据类型的元素进行的包括数值和字符串两种数据类型。
1.1 对数值进行排序
对于包含数值元素的容器list, set, tuple以及dict可以使用sorted函数进行排序 l [3, 2, 7, 3, 4, 9]sorted(l)
[2, 3, 3, 4, 7, 9]sorted函数的定义help(sorted)
Help on built-in function sorted in module builtins:sorted(iterable, /, *, keyNone, reverseFalse)Return a new list containing all items from the iterable in ascending order.A custom key function can be supplied to customize the sort order, and thereverse flag can be set to request the result in descending order.sorted函数的性质
sorted函数不需要导入属于全局函数默认情况下sorted函数对序列的元素进行升序排列sorted函数返回一个新的有序输出序列并且不改变原始序列的顺序 l [3, 2, 7, 3, 4, 9]sorted_l sorted(l)sorted_l
[2, 3, 3, 4, 7, 9]当输入是一个集合或元组时输出结果仍然是一个列表因为sorted函数根据定义返回一个新列表。 t (6, 3, 10, 5)sorted(t)
[3, 5, 6, 10]s {4, 8, 2, 3}sorted(s)
[2, 3, 4, 8]1.2 对字符串进行排序
sorted函数将一个str看作一个列表并遍历其中的每一个元素。在一个字符串中每一个元素都对应着str中的一个字符。sorted函数以相同的方式对待每一个句子对每一个字符包括空格进行排序。可以通过字符串的join函数输出排序好的字符串。 str sdfgdas dasdfstr
sdfgdas dasdfsorted(str)
[ , a, a, d, d, d, d, f, f, g, s, s, s].join(sorted(str))aaddddffgsss2. 使用list.sort函数
list的成员函数sort定义
help(list.sort)
Help on method_descriptor:sort(...)L.sort(keyNone, reverseFalse) - None -- stable sort *IN PLACE*list的成员函数sort性质
sort是list类的一个方法只能与list一起使用。sort返回None并改变 值序列本身 的位置 l
[3, 2, 7, 3, 4, 9]l.sort()l
[2, 3, 3, 4, 7, 9]3. 对dict进行排序
3.1 使用sorted d{a:1,c:3,b:2}d.items()
dict_items([(a, 1), (c, 3), (b, 2)])d.keys()
dict_keys([a, c, b])d.values()
dict_values([1, 3, 2])sorted(d)
[a, b, c]sorted(d.keys())
[a, b, c]sorted(d.values())
[1, 2, 3]sorted(d.items(), keylambda kv: kv[0])
[(a, 1), (b, 2), (c, 3)]sorted(d.items(), keylambda kv: kv[1])
[(a, 1), (b, 2), (c, 3)]3.2 使用列表的sort方法
Python中字典是无序类型没有自己的排序方法。但是可以使用列表的sort方法 来进行排序。首先把字典转换为列表 再进行排序。 d{a:1,c:3,b:2}list(d)
[a, c, b]list(d.items())
[(a, 1), (c, 3), (b, 2)]l list(d.items())l.sort(keylambda kv:kv[1])l
[(a, 1), (b, 2), (c, 3)]总结
本文介绍了python中可迭代对象如何进行排序分析了全局函数sorted和列表局部函数sort的用法并介绍了字典的两种排序方式。