久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

詳解python數據結構和算法

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

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

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

詳解python數據結構和算法

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

yiled時python中構造生成器的關鍵字。碰到yiled就返回該變量,下一次則從yiled之后的語句開始執行。

使用示例:

詳解python數據結構和算法

注:我們構造的dedupe函數返回的是生成器對象,需要用list轉化成可直接輸出的列表。

該函數也可以用來文件去除重復行:

詳解python數據結構和算法

2.過濾元素序列

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

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

詳解python數據結構和算法

方法二:生成器迭代

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

詳解python數據結構和算法

運行結果:

詳解python數據結構和算法

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

詳解python數據結構和算法

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 云和县| 海原县| 青浦区| 定兴县| 正镶白旗| 长寿区| 通江县| 贵阳市| 广水市| 黔南| 新兴县| 土默特左旗| 营口市| 黄平县| 乌拉特中旗| 景泰县| 通化县| 商城县| 札达县| 灵武市| 扬中市| 胶南市| 巴东县| 临武县| 河池市| 花莲县| 三都| 文安县| 体育| 介休市| 城步| 五峰| 镇康县| 新蔡县| 曲阜市| 读书| 江达县| 南召县| 太仓市| 加查县| 左权县|