欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實用技巧之列表、字典、集合中根據(jù)條件篩選數(shù)據(jù)詳解

 更新時間:2018年07月11日 15:26:13   作者:techLee  
這篇文章主要給大家介紹了關(guān)于Python技巧之在列表、字典、集合中根據(jù)條件篩選數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧

通用做法:迭代

以列表為例:

篩選出下列數(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 接收兩個參數(shù),第一個參數(shù)為過濾條件,第二個參數(shù)為過濾范圍
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測試兩種方法的運(yùn)行速度得到:使用列表解析的速度更快,但二者皆比通用做法迭代要快

巧技——字典篩選

假設(shè)有20個學(xué)生,學(xué)生分?jǐn)?shù)在60-100之間,篩選出成績在90分以上的學(xué)生

import random
dict = {i: random.randint(60, 100) for i in range(1, 21)}
# print(dict)
# 根據(jù)值過濾除分?jǐn)?shù)高于90的人
res = {k: v for k, v in dict.items() if v > 90}
print(res)

技——集合篩選

10個隨機(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é)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論