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']
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章