Python 按条件筛选出列表、集合、字典中的值

列表

首先随机生成一个整数类型的,长度为10的列表,我们筛选出其中大于8的数字。

from random import randint
lists = [randint(0,10) for i in range(10)]
print(lists)
#1.使用列表推导式进行判断
res1 = [i for i in lists if i >= 8]
print(res1)
#2/使用filter函数进行判断
res2 = filter(lambda x:x>=8,lists)
print(list(res2))

集合

同上,生成一个随机的集合再进行判断

sets = {randint(0,10) for s in range(10)}
#1.使用列表推导式进行判断
res1 = {i for i in sets if i >= 8}
print(res1)
#2.使用filter函数进行判断
res2 = filter(lambda x:x>=8,sets)
print(list(res2))

字典

这里我们随机生成一份学生成绩的名单用以判断

dicts = {
    'student%d'%d:randint(50,100) for d in range(10)
}

#1.使用列表推导式进行判断
#字典类型需使用dict.items(),返回的值为k,v
res1 = {k:v for k,v in dicts.items() if v >= 90}
print(res1)
#2.使用filter函数进行判断
res2 = filter(lambda item:item[1]>=90,dicts.items())
print(dict(res2))

你可能感兴趣的:(python,开发语言)