1.過濾掉列表中的某些項---列表解析
data=[1,4,2,8,5,-1]
res=
a.依次迭代列表中每乙個項
for x indata:
if >=0:
print res
b.使用lambda表示式來進行過濾
form random importrandint
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)->909nstimeit [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 ...