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