Py小技巧一 在列表,字典,集合中根據條件篩選資料

2022-08-25 16:36:31 字數 767 閱讀 7615

1.過濾掉列表中的某些項---列表解析

data=[1,4,2,8,5,-1]

res=

a.依次迭代列表中每乙個項

for x in

data:

if >=0:

print res

b.使用lambda表示式來進行過濾

form random import

randint

data = [randint(-10,10)for _ in xrange(10)]

filter(

lambda x: x>=0,data)

c.使用列表解析倆進行過濾

[x for x in data if x>=0]

對兩種情況進行效能的比較:

timeit filter(lambda x: x>0,data)->909ns

timeit [x

for x in data if x>=0]->455ns

由上可以看出列表解析的速度更快,首選列表解析,但是上述兩種方法都遠快於迭代的方法

2.篩選出指點中的某些元素----字典解析

d = 

#篩選出字典中大於90的值

#使用字典解析

3.篩選集合中符合某些條件的元素---集合解析

在列表,字典,集合中根據條件篩選資料

1 2 如何在列表,字典,集合中根據條件篩選資料 3 4from random import randint 5import timeit6 隨機生成10個 10,10 之間的數字 7 data randint 10,10 for in range 10 8print data 9 filter函式...

在列表,字典,集合中根據條件來篩選資料

在列表中根據條件來篩選資料 from random import randint data randint 10,10 for in range 10 print data print 使用filter函式來進行過濾 filterdata list filter lambda x x 0,data ...

1 在列表 字典 集合中根據條件篩選資料

列表解析 x for x in data if x 0 filter 函式 filter lambda x x 0,data 字典解析 filter 函式 filter lambda item item 1 90,d.items 集合解析 filter 函式 filter lambda x x 3 ...