1. 程式人生 > >Python的列表排序

Python的列表排序

1 快速應用

快速應用是給需要快速解決問題,贊不細究原理的朋友準備的。

1.1 永久排序

sort

  • 例子
// An highlighted block
cars=['bmw','audi','toyoto','subaru']
cars.sort()
print(cars)
###結果
['audi', 'bmw', 'subaru', 'toyoto']
  • 結論 sort對列表的排序是永久性的

reverse

  • 例子
// An highlighted block
cars=['bmw','audi','toyoto','subaru']
cars.reverse()
print(cars)
###結果 ['subaru', 'toyoto', 'audi', 'bmw']
  • 結論 reverse對列表的排序也是永久性的,但是是可恢復的,因為它就是翻轉的功能,所以想恢復的話只需要再翻轉一下就可以了。

1.2 臨時排序

sorted

  • 例子
// An highlighted block
cars=['bmw','audi','toyoto','subaru']
print(sorted(cars))
print(cars)
###結果
['audi', 'bmw', 'subaru', 'toyoto']
['bmw', 'audi', 'toyoto', 'subaru']
  • 結論 sorted對列表的排序是暫時的,所以直接可以print(sorted(cars)),當print(cars)的時候還是原來的列表順序。

1.3 注意事項

1.3.1 假設如果要倒序,可以使用reverse引數

  • 例子 sorted
cars=['bmw','audi','toyoto','subaru']
print(sorted(cars,reverse=True))
###結果
['toyoto', 'subaru', 'bmw', 'audi']
  • 例子 sort
cars=['bmw','audi','toyoto','subaru']
cars.sort(reverse=
True) print(cars) ###結果 ['toyoto', 'subaru', 'bmw', 'audi']

1.3.2 如果首字母裡面有大寫字母的情況

實際上,排序是按照ASCII碼來的,假設全是小寫,那其字母對應的ASCII碼和字母是一致的,但是如果有大小寫字母混雜的情況,那麼實際上大寫字母的ASCII碼是要比小寫字母小的。所以順序可能不是我們想象的那樣。

  • 例子sort
cars=['bmw','audi','Toyoto','subaru']
cars.sort()
print(cars)
###結果
['Toyoto', 'audi', 'bmw', 'subaru']
  • 附ASCII碼對照表: