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

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

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

Python中的排序

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

Python 中的排序

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

列表的排序

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

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

字典排序

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

C++ 中的排序

對(duì) vector 排序

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

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

對(duì) 2 維vector 排序

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

#include #include #include usingnamespacestd; #根據(jù)第二個(gè)元素進(jìn)行排序 boolsort_by_second_val(vectorv1,vectorv2){ returnv1[1]>v2[1]; } intmain(){ //模擬一個(gè)輸入 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; }

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

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

#include #include #include #include usingnamespacestd; structStuden{ stringname; intage; }; boolsort_by_age(Studens1,Studens2){ returns1.agestudens;//用來(lái)存儲(chǔ)所有學(xué)生的信息 Studens1,s2,s3;//創(chuàng)建3個(gè)學(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4262

    瀏覽量

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

    關(guān)注

    21

    文章

    2090

    瀏覽量

    73408
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4759

    瀏覽量

    84295

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    手把手教你排序算法怎么寫(xiě)

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

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

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

    split在python的用法

    split在python的用法 split()是Python中一個(gè)非常常用的字符串函數(shù),它能夠根據(jù)指定的分隔符將一個(gè)字符串分割成多個(gè)子字符串,并返回一個(gè)包含這些子字符串的列表。本文將詳細(xì)介紹
    的頭像 發(fā)表于 12-25 15:12 ?1894次閱讀

    十大排序算法總結(jié)

    排序算法是最經(jīng)典的算法知識(shí)。因?yàn)槠鋵?shí)現(xiàn)代碼短,應(yīng)該廣,在面試中經(jīng)常會(huì)問(wèn)到排序算法及其相關(guān)的問(wèn)題。一般在面試中最??嫉氖强焖?b class='flag-5'>排序和歸并排序等基本的排序
    的頭像 發(fā)表于 12-20 10:39 ?1048次閱讀

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

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

    Python2與Python3的差異

    Python2,print語(yǔ)句是一個(gè)關(guān)鍵字,而在Python3,print函數(shù)被引入,必須使用括號(hào)。此外,Python3要求字符串必須使
    的頭像 發(fā)表于 11-23 16:48 ?816次閱讀

    pythontext的用法

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

    pycharmpython interpreter怎么設(shè)置

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

    pythonnumber代表什么

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

    Python如何表達(dá)復(fù)數(shù)

    Python,可以使用complex類(lèi)型來(lái)表示和操作復(fù)數(shù)。復(fù)數(shù)是由一個(gè)實(shí)部和一個(gè)虛部組成的數(shù),可以使用下列格式來(lái)表示:real + imag*j,其中real是實(shí)部,imag是虛部。在
    的頭像 發(fā)表于 11-21 16:50 ?2007次閱讀

    pythontuple的用法

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

    python升序和降序排序代碼

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

    sort函數(shù)python用法

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

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

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