方法一:用if语句
#过滤掉列表[3,9,-1,10,20,-2]中的负数
alist = [3,9,-1,10,20,-2]
plist = []
for i in alist:
if i>=0:
plist.append(i)
print(plist)
#筛选出字典{'LiLei':79,'Jim':88,'Lucy':92}中值高于90的项
d={'LiLei':79,'Jim':88,'Lucy':92}
for id in set1:
if d[id]>90:
print(id+':'+str(d[id]))
#筛出集合{77,89,32,20,30}中能被3整除的元素
set2={77,89,32,20,30}
for i in set2:
if i%3==0:
print(i)
方法二:用推导式
#过滤掉列[3,9,-1,10,20,-2]表中的负数
data = [3,9,-1,10,20,-2]
plist = [m for m in data if m >= 0]
print(plist)
字典解析
#筛选出字典{'LiLei':79,'Jim':88,'Lucy':92}中值高于90的项
d={'LiLei':79, 'Jim':88, 'Lucy':92}
d1={k:v for k, v in d.items() if v > 90}
print(d1)
集合解析
#筛出集合{77,89,32,20,30}中能被3整除的元素
s={77,89,32,20,30}
s1={x for x in s if x%3==0}
print(s1)
方法三:用filter函数
#过滤掉列[3,9,-1,10,20,-2]表中的负数
data = [3,9,-1,10,20,-2]
plist = list(filter(lambda x:x>=0,data))
print(plist)
#筛选出字典{'LiLei':79,'Jim':88,'Lucy':92}中值高于90的项
d={'LiLei':79, 'Jim':88, 'Lucy':92}
d1=dict(filter(lambda x : x[1]>90, d.items()))
print(d1)
#筛出集合{77,89,32,20,30}中能被3整除的元素
s={77,89,32,20,30}
s1=set(filter(lambda x : x%3 == 0, s))
print(s1)