Python sort() sorted()

python有内建sort()与sorted()两种排序方法

以下将为各位详细介绍

sort()

sort()可以将列表中的元素由小排序到大,对于纯数值列表与纯英文字串列表有很好的分群效果

範例输入1.1

a=[3,1,2]a.sort()b=['b','c','a']b.sort()print(f'a={a}')print(f'b={b}')

範例输出1.1

a=[1, 2, 3]b=['a', 'b', 'c']

在排序字串列表时,顺序为负数(字串型别)->零(字串型别)->正数(字串型别)->大写英文字母(由A到Z排序)->小写英文字母(由a到z排序)

範例输入1.2

a=['1','a','-1','A']a.sort()print(f'a={a}')

範例输出1.2

a=['-1', '1', 'A', 'a']

上述的内容皆是由小排序至大(预设),sort()也允许由大排序至小,只需在函式后方增加参数reverse=True即可

範例输入1.3

a=[1,3,2]a.sort()print(f'a={a}')a.sort(reverse=True)print(f'reverse_a={a}')

範例输出1.3

a=[1, 2, 3]reverse_a=[3, 2, 1]

上面的程式码第一个是由小到大的结果
第二个是由大到小排序过后的结果

值得注意的是
经sort()排序后原列表中的元素顺序将被永久更改
如果希望保留原列表,可以使用sorted()

sorted()

我们可以使用sorted()产生新串列来储存排序结果,其排序规则与sort()相同

範例输入2.1

a=[3,1,2]b=sorted(a)print(f'a={a}')print(f'b={b}')

範例输出2.1

a=[3, 1, 2]b=[1, 2, 3]

上面的程式码第一个是原来的列表顺序
第二个是排序过后的新列表
原先的列表并不会被改变

sorted()同样也允许由大排序至小,只需在函式后方增加参数reverse=True即可,这里就不再多做赘述


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章