久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

詳解python數(shù)據(jù)結(jié)構(gòu)和算法

瀏覽:3日期:2022-08-07 18:37:42

1.刪除序列相同元素并保持順序

如果僅僅就是想消除重復(fù)元素,通常可以簡單的構(gòu)造一個集合,利用集合之間元素互不相同的特性就可以消除重復(fù),但是這種方法生成的結(jié)果中元素的位置會被打亂。下面是我們的解決方案:

詳解python數(shù)據(jù)結(jié)構(gòu)和算法

主要思想就是構(gòu)造一個集合,然后遍歷該列表,如果當(dāng)前元素不存在集合中就將該元素返回。

yiled時python中構(gòu)造生成器的關(guān)鍵字。碰到y(tǒng)iled就返回該變量,下一次則從yiled之后的語句開始執(zhí)行。

使用示例:

詳解python數(shù)據(jù)結(jié)構(gòu)和算法

注:我們構(gòu)造的dedupe函數(shù)返回的是生成器對象,需要用list轉(zhuǎn)化成可直接輸出的列表。

該函數(shù)也可以用來文件去除重復(fù)行:

詳解python數(shù)據(jù)結(jié)構(gòu)和算法

2.過濾元素序列

問題--------你有一個數(shù)據(jù)序列,想利用一些規(guī)則從中提取出需要的值或者是縮短序列

方法一:最簡單的過濾序列元素的方法就是使用列表推導(dǎo)。比如我們想從下列列表中提取正數(shù):

詳解python數(shù)據(jù)結(jié)構(gòu)和算法

方法二:生成器迭代

使用列表推導(dǎo)的一個潛在缺陷就是如果輸入非常大的時候會產(chǎn)生一個非常大的結(jié)果集,占用大量內(nèi)存。 如果你對內(nèi)存比較敏感,那么你可以使用生成器表達(dá)式迭代產(chǎn)生過濾的元素。

詳解python數(shù)據(jù)結(jié)構(gòu)和算法

運(yùn)行結(jié)果:

詳解python數(shù)據(jù)結(jié)構(gòu)和算法

方法三:過濾規(guī)則比較復(fù)雜,不能簡單的在列表推導(dǎo)或者生成器表達(dá)式中表達(dá)出來時需要考慮使用內(nèi)建的filter函數(shù)。這時候你可以將過濾代碼放到一個函數(shù)中, 然后使用內(nèi)建的 filter() 函數(shù)。示例如下:

詳解python數(shù)據(jù)結(jié)構(gòu)和算法

以上所述是小編給大家介紹的python數(shù)據(jù)結(jié)構(gòu)和算法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對好吧啦網(wǎng)網(wǎng)的支持!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产精品视频网站 | 人人99| 91在线精品秘密一区二区 | 亚洲综合无码一区二区 | 欧美日韩在线看 | 99久久99| 久久综合久久久 | 国产不卡视频 | 欧美视频网站 | 午夜国产视频 | 亚洲v日韩v综合v精品v | 天天操夜夜操免费视频 | 欧美日韩中文 | 成人在线免费网站 | 韩国精品免费视频 | 欧美另类专区 | 最新av中文字幕 | 九九99久久| 亚洲高清av在线 | 毛片黄色| www.五月婷 | 亚洲一区二区免费 | 国产 日韩 欧美 在线 | 久久av网 | 久久99精品久久久久久青青日本 | 亚洲伊人成人 | www.亚洲 | 国产视频999 | 欧美成人猛片aaaaaaa | 亚洲视频 欧美视频 | 97精品视频 | 久久2 | 日产精品久久久一区二区 | 欧美国产精品一区 | 欧美大片网站 | 欧美在线播放一区二区三区 | 在线视频久 | 欧美一区二区三区黄 | 日本一区二区不卡 | 免费久久99精品国产婷婷六月 | 国产精品亚洲视频 |