国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

詳解python數據結構和算法

瀏覽:9日期: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 編程
相關文章:
主站蜘蛛池模板: 淳化县| 深州市| 贵定县| 漳州市| 广灵县| 洪湖市| 宿松县| 额敏县| 大足县| 乡宁县| 营口市| 鄄城县| 仲巴县| 句容市| 永靖县| 平昌县| 阳城县| 台湾省| 新巴尔虎左旗| 安顺市| 龙胜| 垫江县| 南丰县| 安顺市| 铁力市| 镇赉县| 隆化县| 余江县| 伊宁市| 霸州市| 正安县| 黄冈市| 从江县| 张家界市| 辰溪县| 吉首市| 白银市| 鄂托克前旗| 龙井市| 华池县| 武山县|