0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python中的排序

gVTR_Unf ? 來源:機(jī)器視覺CV ? 2020-09-07 16:25 ? 次閱讀

Python 中的排序

在 Python 中,常用的排序就是 sorted ,對于列表這種數(shù)據(jù)結(jié)構(gòu)來說,還有 sort 方法

列表的排序

使用 sort 方法進(jìn)行排序,以第二個值進(jìn)行升序排序,列表的 sort 方法是原地排序

另外一種排序方法是 sorted ,此方法不是原地排序,以第一個值進(jìn)行排序,同樣也是默認(rèn)升序排序

字典排序

有時候我們也需要對字典進(jìn)行排序,也是使用 sorted 函數(shù),不過對字典排序后返回的是列表,列表中是元組(tuple)

C++ 中的排序

對 vector 排序

要對 vector 容器中的元素排序,可以使用 algorithm 算法庫中的 sort 函數(shù)

#include #include #include usingnamespacestd; intmain(){ vectora; cout<

對 2 維vector 排序

類似于 Python ,我們也可以指定根據(jù)哪個元素進(jìn)行排序

#include #include #include usingnamespacestd; #根據(jù)第二個元素進(jìn)行排序 boolsort_by_second_val(vectorv1,vectorv2){ returnv1[1]>v2[1]; } intmain(){ //模擬一個輸入 vector>arr; for(inti=0;itemp; temp.push_back(i); temp.push_back(i+1); arr.push_back(temp); } //排序前:arr =[[0, 1], [2, 3], [4, 5], [6, 7],[8, 9]] sort(arr.begin(),arr.end(),sort_by_second_val); //排序后:arr =[[8, 9], [6, 7], [4, 5], [2, 3],[0, 1]] return0; }

對結(jié)構(gòu)體進(jìn)行排序

模擬一個學(xué)生管理系統(tǒng),依次創(chuàng)建學(xué)生信息,然后加入到 vector 中,接著對學(xué)生的年齡進(jìn)行排序

#include #include #include #include usingnamespacestd; structStuden{ stringname; intage; }; boolsort_by_age(Studens1,Studens2){ returns1.agestudens;//用來存儲所有學(xué)生的信息 Studens1,s2,s3;//創(chuàng)建3個學(xué)生 s1.name="xx"; s1.age=20; studens.push_back(s1); s2.name="yy"; s2.age=18; studens.push_back(s2); s3.name="zz"; s3.age=10; studens.push_back(s3); sort(studens.begin(),studens.end(),sort_by_age); return0; }

排序前

排序后

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61969
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2085

    瀏覽量

    73302
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84081

原文標(biāo)題:【C++簡明教程】Python和C++指定元素排序比較

文章出處:【微信號:Unfinished_coder,微信公眾號:機(jī)器視覺CV】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Python在AI的應(yīng)用實例

    Python在人工智能(AI)領(lǐng)域的應(yīng)用極為廣泛且深入,從基礎(chǔ)的數(shù)據(jù)處理、模型訓(xùn)練到高級的應(yīng)用部署,Python都扮演著至關(guān)重要的角色。以下將詳細(xì)探討Python在AI的幾個關(guān)鍵應(yīng)用
    的頭像 發(fā)表于 07-19 17:16 ?620次閱讀

    手把手教你排序算法怎么寫

    新記錄插入。以{3,0,9,8,2}無序表按升序排列為例,有序表是一個虛擬的順序表:1.插入排序剛開始,有序表沒有數(shù)據(jù),因此直接插入3即可。{3}2.插入0的時候要
    的頭像 發(fā)表于 06-04 08:03 ?544次閱讀
    手把手教你<b class='flag-5'>排序</b>算法怎么寫

    用FPGA實現(xiàn)雙調(diào)排序的方法(2)

    典型的排序算法包括冒泡排序、選擇排序、插入排序、歸并排序、快速排序、希爾
    的頭像 發(fā)表于 03-21 10:28 ?528次閱讀
    用FPGA實現(xiàn)雙調(diào)<b class='flag-5'>排序</b>的方法(2)

    python如何交換兩個數(shù)的值相加

    Python是一種簡單易學(xué)的高級語言,其交換兩個數(shù)的值相加是一種常見的操作。交換變量的值可以在許多情況下發(fā)揮作用,如算法、排序、邏輯控制等。本文將詳細(xì)介紹Python實現(xiàn)交換兩個數(shù)的
    的頭像 發(fā)表于 11-29 17:29 ?537次閱讀

    pythontext的用法

    Python的text是一個常見的數(shù)據(jù)類型,它用于存儲和處理文本數(shù)據(jù)。在Python,文本常常被表示為字符串(string),字符串是一系列Unicode字符的有序序列。 在
    的頭像 發(fā)表于 11-23 15:46 ?2628次閱讀

    pycharmpython interpreter怎么設(shè)置

    在PyCharm設(shè)置Python解釋器非常簡單,只需按照以下步驟操作: 打開PyCharm,并打開你的項目。 在菜單欄中選擇"File"(文件),然后選擇"Settings"(設(shè)置)。在
    的頭像 發(fā)表于 11-22 11:08 ?2562次閱讀

    pythonnumber代表什么

    Python,number(數(shù)字)是一種內(nèi)置的數(shù)據(jù)類型,用于表示數(shù)值。Python提供了幾種不同的number類型,分別是整數(shù)(int)、浮點(diǎn)數(shù)(float)、復(fù)數(shù)(complex)和布爾值
    的頭像 發(fā)表于 11-22 09:50 ?1458次閱讀

    pythontuple的用法

    Python的元組(tuple)是一種不可變的有序集合。與列表(list)類似,元組可以存儲任意類型的數(shù)據(jù),但是元組一旦創(chuàng)建就不能被修改。在Python,元組是使用圓括號進(jìn)行表示,
    的頭像 發(fā)表于 11-21 16:27 ?804次閱讀

    python升序和降序排序代碼

    Python是一種簡潔而強(qiáng)大的編程語言,提供了許多實用的函數(shù)和方法來排序數(shù)據(jù)。在本文中,我們將詳細(xì)討論Python的升序和降序排序。我們將
    的頭像 發(fā)表于 11-21 15:20 ?2291次閱讀

    sort函數(shù)python用法

    sort()函數(shù)是Python的內(nèi)置函數(shù)之一,用于對可迭代對象進(jìn)行排序。可迭代對象包括列表、元組和字符串等。sort()函數(shù)是一個靈活而強(qiáng)大的函數(shù),在數(shù)據(jù)分析、算法實現(xiàn)等方面有著廣泛
    的頭像 發(fā)表于 11-21 15:15 ?1046次閱讀

    怎么在Python實現(xiàn)截圖功能

    利用Python自帶的win32api和win32con、win32gui等模塊,我們能執(zhí)行許多windows下的自動化操作。比如兩個窗口的自動點(diǎn)擊操作,從軟件的窗口復(fù)制文本到txt,甚至是截圖
    的頭像 發(fā)表于 11-03 15:32 ?834次閱讀
    怎么在<b class='flag-5'>Python</b><b class='flag-5'>中</b>實現(xiàn)截圖功能

    Vulture 可在Python程序查找未使用的代碼

    Vulture 可以在Python程序查找未使用的代碼。這對于清理和查找大型項目(代碼庫)的錯誤非常有用。 不過由于Python的動態(tài)特性,像 Vulture 這樣的靜態(tài)代碼分析器
    的頭像 發(fā)表于 10-21 10:28 ?377次閱讀

    Python 最好用的8個VS Code擴(kuò)展

    Code編輯器調(diào)試代碼 IntelliSense支持自動完成,代碼導(dǎo)航和格式化。 支持Jupyter Notebook,Pytest和Unittest 在編輯器輕松切換Python環(huán)境 2.
    的頭像 發(fā)表于 10-17 17:15 ?491次閱讀
    <b class='flag-5'>Python</b> 最好用的8個VS Code擴(kuò)展

    Python環(huán)境搭建和LabVIEW的調(diào)用

    本文主要介紹Python相關(guān)的環(huán)境搭建、Anaconda的使用以及在LabVIEW調(diào)用Python的方法。
    的頭像 發(fā)表于 10-13 17:56 ?2420次閱讀
    <b class='flag-5'>Python</b>環(huán)境搭建和LabVIEW<b class='flag-5'>中</b>的調(diào)用

    排序算法之選擇排序

    選擇排序: (Selection sort)是一種簡單直觀的排序算法,也是一種不穩(wěn)定的排序方法。 選擇排序的原理: 一組無序待排數(shù)組,做升序排序
    的頭像 發(fā)表于 09-25 16:30 ?1332次閱讀
    <b class='flag-5'>排序</b>算法之選擇<b class='flag-5'>排序</b>