最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 列表 sort()函數(shù)使用實例詳解

 更新時間:2023年07月17日 14:56:48   作者:士別三日wyx  
這篇文章主要介紹了Python 列表 sort()函數(shù)使用詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

sort() 可以對列表進行「排序」

語法

list.sort( key, reverse )

參數(shù)

  • key :(可選)指定排序規(guī)則
  • reverse :(可選)升序降序

返回值

  • 返回None,同時將原列表排序。也就是沒有返回值

案例:將列表中的元素排序

list1 = [1, 3, 2, 5]
list1.sort()
print(list1)

輸出:

[1, 2, 3, 5]

1、升序降序

reverse 參數(shù)控制排序的「升序」和「降序」,True表示降序、False表示升序;默認升序reverse=False

list1 = [1, 3, 2, 5]
list1.sort(reverse=True)
print(list1)
list1.sort(reverse=False)
print(list1)
list1.sort()
print(list1)

輸出:

[5, 3, 2, 1]
[1, 2, 3, 5]
[1, 2, 3, 5]

2、sort()和sorted()的區(qū)別

接收 sort() 的返回值,可以發(fā)現(xiàn)是None

list1 = [1, 3, 2, 5]
list2 = list1.sort()
print(list2)

輸出:

None

打印一下排序前、后的「內(nèi)存地址」,可以發(fā)現(xiàn)地址沒有改變

list1 = [1, 3, 2, 5]
print(id(list1))
list1.sort()
print(id(list1))

輸出:

2361470487744

2361470487744

sort() 的設計思想就是「修改」原列表,而不是返回新的列表;它不會創(chuàng)建新的列表,從而節(jié)省「效率」;當然,這也意味著原列表被修改了,使用時要留意這一點;sorted() 是 sort() 的擴展函數(shù),可以對列表的元素排序,同時不會修改原列表。

list1 = [1, 3, 2, 5]
list2 = sorted(list1)
print(list1)
print(list2)

輸出:

[1, 3, 2, 5]
[1, 2, 3, 5]

從結果可以看到, sorted() 創(chuàng)建了新的列表,用來保存排序后的列表。

3、切片排序

將原列表「切片」復制給新列表,再對新列表排序,同樣可以實現(xiàn)排序且不改變原列表。

list1 = [1, 3, 2, 5]
list2 = list1[:]
list2.sort()
print(list1)
print(list2)

輸出:

[1, 3, 2, 5]
[1, 2, 3, 5]

直接「賦值」的方式是不行的,因為賦值的話,兩個列表會指向同一個內(nèi)存地址,原列表會同步變化。

list1 = [1, 3, 2, 5]
list2 = list1
list2.sort()
print(list1)
print(list2)

輸出:

[1, 2, 3, 5]
[1, 2, 3, 5]

4、指定排序規(guī)則

key 參數(shù)可以指定排序「規(guī)則」

4.1、按字符串長度排序

對于元素全是字符串的「列表」,可以按照字符串的「長度」來排序

list1 = ['aaaaa', 'aa', 'aaaa', 'a']
list1.sort(key=len)
print(list1)

輸出:

['a', 'aa', 'aaaa', 'aaaaa']

本質(zhì)上是利用字符串的 len() 函數(shù)計算長度,再排序,如果遇到 int 這列沒有 len() 函數(shù)的元素,就會報錯 TypeError: object of type ‘int’ has no len()。

在這里插入圖片描述

4.2、按第二個字符排序

對于元素全是字符串的列表,可以按照元素的第幾個「字符」排序。

list1 = ['cb', 'fa', 'zd', 'ec']
list1.sort(key=lambda x: x[1])
print(list1)

輸出:

['fa', 'cb', 'ec', 'zd']

需要注意的是,所有元素的字符長度都要夠數(shù),比如元素只有1個字符,卻按照第2個字符排序,函數(shù)找不到第2個字符,肯定會報錯 IndexError: string index out of range

在這里插入圖片描述

4.3、查找第n大的元素

先降序,再按照「索引」取值,就能獲取列表中第一大的值或第二大的值等。

list1 = [4, 3, 9, 6, 1]
list1.sort(reverse=True)
print('最大的元素:', list1[0])
print('第二大的元素:', list1[1])

輸出:

最大的元素: 9
第二大的元素: 6

5、其他類型排序

sort() 只能對列表排序,而 sorted() 能對可迭代對象排序;所以,字符串、元組、字典等類型想排序,可以用 sorted()

str1 = "312"
print(sorted(str1))
tuple1 = (5, 1, 3)
print(sorted(tuple1))
dict1 = {"key1": 1, "key2": 2}
print(sorted(dict1))

輸出:

['1', '2', '3']
[1, 3, 5]
['key1', 'key2']

從輸出結果可以發(fā)現(xiàn),字符串、元組、字典類型排序后,返回的是列表類型;并且字典只對鍵排序,不對值排序。

到此這篇關于Python 列表 sort()函數(shù)使用詳解的文章就介紹到這了,更多相關Python 列表 sort()函數(shù)使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python字符串格式化函數(shù)

    python字符串格式化函數(shù)

    這篇文章主要介紹了python字符串格式化函數(shù),主要概述內(nèi)容有?格式化字符串輸出?、三引號、字符串字母處理函數(shù)等相關內(nèi)容,下文詳細內(nèi)容介紹需要的小伙伴可以參考一下
    2022-04-04
  • 淺談對python中if、elif、else的誤解

    淺談對python中if、elif、else的誤解

    這篇文章主要介紹了淺談對python中if、elif、else的誤解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • opencv用VS2013調(diào)試時用Image Watch插件查看圖片

    opencv用VS2013調(diào)試時用Image Watch插件查看圖片

    本文主要介紹了opencv用VS2013調(diào)試時用Image Watch插件查看圖片,直接以圖片形式可視化了opencv中的Mat變量。感興趣的可以了解下
    2021-07-07
  • Python3.5常見內(nèi)置方法參數(shù)用法實例詳解

    Python3.5常見內(nèi)置方法參數(shù)用法實例詳解

    這篇文章主要介紹了Python3.5常見內(nèi)置方法參數(shù)用法,結合實例形式詳細分析了Python常見的內(nèi)置方法及參數(shù)使用技巧,需要的朋友可以參考下
    2019-04-04
  • 使用Python遍歷文件夾實現(xiàn)查找指定文件夾

    使用Python遍歷文件夾實現(xiàn)查找指定文件夾

    這篇文章主要為大家介紹了如何使用Python遍歷文件夾從而實現(xiàn)查找指定文件夾下所有相同名稱的文件、所有相同后綴名的文件,感興趣的可以了解一下
    2022-07-07
  • Python超詳細講解內(nèi)存管理機制

    Python超詳細講解內(nèi)存管理機制

    本章主要介紹Pyhon的內(nèi)存管理,以Pyhon的計數(shù)機制作為引入,介紹Pyhon的內(nèi)存管理方式,感興趣的朋友來看看吧
    2022-06-06
  • 深入解析Python編程中JSON模塊的使用

    深入解析Python編程中JSON模塊的使用

    這篇文章主要介紹了深入解析Python編程中JSON模塊的使用,舉例講解了如何使用Python解析JSON數(shù)據(jù),需要的朋友可以參考下
    2015-10-10
  • python讀取并寫入mat文件的方法

    python讀取并寫入mat文件的方法

    這篇文章主要介紹了python讀取并寫入mat文件的方法,文中給大家提到了python讀取matlab寫的mat文件問題以及解決辦法 ,需要的朋友可以參考下
    2019-07-07
  • 利用Python?Matlab繪制曲線圖的簡單實例

    利用Python?Matlab繪制曲線圖的簡單實例

    們經(jīng)常會遇到這種情況,有一個數(shù)學函數(shù),我們希望了解他的圖像,這個時候使用python 的matplotlib就可以幫助我們,下面這篇文章主要介紹了利用Python?Matlab繪制曲線圖的相關資料,需要的朋友可以參考下
    2021-12-12
  • TensorFlow用expand_dim()來增加維度的方法

    TensorFlow用expand_dim()來增加維度的方法

    今天小編就為大家分享一篇TensorFlow用expand_dim()來增加維度的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評論

淮安市| 筠连县| 甘南县| 滨州市| 塘沽区| 蓬溪县| 宁陵县| 论坛| 吉林省| 鄢陵县| 东乡| 德惠市| 厦门市| 灵台县| 香河县| 元朗区| 叶城县| 汉源县| 沂源县| 高碑店市| 仁怀市| 崇州市| 基隆市| 永善县| 乡宁县| 通化县| 博野县| 潞西市| 长乐市| 工布江达县| 科技| 惠东县| 时尚| 深圳市| 会泽县| 广水市| 始兴县| 巴塘县| 乌拉特后旗| 灵武市| 交口县|