以下会列出在 Python 排序串行(list) 的方法, 包括数值及字串进行顺序或倒序排序。
数值排序
使用 sort 方法, 可以对串行内的数值 (包括整数及浮点数) 进行排序:
|
1 2 3 4 5 6 |
#!/usr/bin/python myList = [2, 5, 10, 7, -2, 3.14, 11, 8] myList.sort() # shorting print myList |
上面程式码对 myList 串行排序, 执行结果是:
[-2, 2, 3.14, 5, 7, 8, 10, 11]
上面所使用的 sort 方法会改变原本的串行排序, 但如果想保留原本的串行排序, 那便要用 sorted 函式, 例如:
|
1 2 3 4 5 6 7 |
#!/usr/bin/python myList = [2, 5, 10, 7, -2, 3.14, 11, 8] newList = sorted(myList) print newList |
执行结果与上面的例子一样, 分别是保留原来 myList 的排序, 将新结果放入新建立的串行 newList 内.
如果想将数值进行倒序排列, 可以在 sorted 函式内指定 reverse=True:
|
1 2 3 4 5 6 7 |
#!/usr/bin/python myList = [2, 5, 10, 7, -2, 3.14, 11, 8] newList = sorted(myList, reverse=True) print newList |
执行结果是:
[11, 10, 8, 7, 5, 3.14, 2, -2]
字串排序
串行的字串排序跟数值一样, 也是使用 sort 方法:
|
1 2 3 4 5 6 7 |
#!/usr/bin/python myList = ['xyz', 'abe', 'def'] myList.sort() print myList |
执行结果是:
[‘abe’, ‘def’, ‘xyz’]
要进行倒序排列, 加上 reverse=True:
|
1 2 3 4 5 6 7 |
#!/usr/bin/python myList = ['xyz', 'abe', 'def'] myList.sort(reverse=True) print myList |
执行结果是:
[‘xyz’, ‘def’, ‘abe’]