Python實(shí)用技巧之列表、字典、集合中根據(jù)條件篩選數(shù)據(jù)詳解
通用做法:迭代
以列表為例:
篩選出下列數(shù)字大于等于0的數(shù)
data = [2, 7, -4, -1, 3, 0, 8] res = [] for i in data: if i >= 0: res.append(i) print(res)
運(yùn)行結(jié)果:
[2, 7, 3, 0, 8]
巧技——列表篩選
使用filter函數(shù)
隨機(jī)生成一組正負(fù)數(shù)皆有的數(shù),篩選出大于等于0的數(shù)
flilter(function or None, iterable)
from random import randint data = [randint(-10,10) for _ in range(10)] # filter 接收兩個(gè)參數(shù),第一個(gè)參數(shù)為過(guò)濾條件,第二個(gè)參數(shù)為過(guò)濾范圍 f = filter(lambda x: x>=0, data) for j in f: print(j)
使用列表解析(列表推導(dǎo)式)
隨機(jī)生成一組正負(fù)數(shù)皆有的數(shù),篩選出大于等于0的數(shù)
from random import randint data = [randint(-10,10) for _ in range(10)] f = [i for i in data if i >= 0] print(f)
使用timeit測(cè)試兩種方法的運(yùn)行速度得到:使用列表解析的速度更快,但二者皆比通用做法迭代要快
巧技——字典篩選
假設(shè)有20個(gè)學(xué)生,學(xué)生分?jǐn)?shù)在60-100之間,篩選出成績(jī)?cè)?0分以上的學(xué)生
import random dict = {i: random.randint(60, 100) for i in range(1, 21)} # print(dict) # 根據(jù)值過(guò)濾除分?jǐn)?shù)高于90的人 res = {k: v for k, v in dict.items() if v > 90} print(res)
巧技——集合篩選
10個(gè)隨機(jī)的正負(fù)數(shù),篩選出可以和2整除的數(shù)字
import random data = set(random.randint(-10,10) for _ in range(10)) # print(data) # 篩選集合中能被2整除的數(shù) res = {i for i in data if i % 2 ==0} print(res)
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python的hashlib庫(kù)獲取超大文件的md5值實(shí)例探究
這篇文章主要為大家介紹了Python的hashlib庫(kù)獲取超大文件的md5值實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01python kmeans聚類簡(jiǎn)單介紹和實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python kmeans聚類簡(jiǎn)單介紹和實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02python 畫(huà)二維、三維點(diǎn)之間的線段實(shí)現(xiàn)方法
今天小編就為大家分享一篇python 畫(huà)二維、三維點(diǎn)之間的線段實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python實(shí)戰(zhàn)之生成有關(guān)聯(lián)單選問(wèn)卷
這篇文章主要為大家分享了一個(gè)Python實(shí)戰(zhàn)小案例——生成有關(guān)聯(lián)單選問(wèn)卷,并且能根據(jù)問(wèn)卷總分?jǐn)?shù)生成對(duì)應(yīng)判斷文案結(jié)果,感興趣的可以了解一下2023-04-04對(duì)python 數(shù)據(jù)處理中的LabelEncoder 和 OneHotEncoder詳解
今天小編就為大家分享一篇對(duì)python 數(shù)據(jù)處理中的LabelEncoder 和 OneHotEncoder詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07python3.7.2 tkinter entry框限定輸入數(shù)字的操作
這篇文章主要介紹了python3.7.2 tkinter entry框限定輸入數(shù)字的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05在pyqt5中展示pyecharts生成的圖像問(wèn)題
本文通過(guò)一個(gè)實(shí)際的散點(diǎn)圖案例,展示了如何使用pyqt5嵌套一個(gè)pyecharts圖層的方法,通過(guò)這個(gè)技巧,可以在pyqt5的框架中也實(shí)現(xiàn)精美的數(shù)據(jù)可視化的功能模塊,感興趣的朋友一起看看吧2022-01-01從多個(gè)tfrecord文件中無(wú)限讀取文件的例子
今天小編就為大家分享一篇從多個(gè)tfrecord文件中無(wú)限讀取文件的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02