标签:过滤 ble size color gif 玩法 根据 font 哪些
之前我们已经学习了最简单的列表推导式和生成器表达式。但是除此之外,其实还有字典推导式、集合推导式等等。
variable = [out_exp_res for out_exp in input_list if out_exp == 2] out_exp_res: 列表生成元素表达式,可以使有返回值的函数。 for out_exp in input_list: 迭代 input_list 或 out_exp_res 表达式中。 if out_exp == 2: 根据条件过滤哪些值可以。
2、列表推导式
例1::30以内所有能被3整除的数
listt = [i for i in range(30) if i % 3 is 0] print(listt)
例2:30以内所有能被3整除的数的平方
def squared(x): return x*x listt = [squared(i) for i in range(30) if i % 3 is 0] print(listt)
例3:找到嵌套列表中名字包含两个 ‘e’ 的所有名字
names = [[‘Tom‘, ‘Billy‘, ‘Jefferson‘, ‘Andrew‘, ‘Wesley‘, ‘Steven‘, ‘Joe‘], [‘Alice‘, ‘Jill‘, ‘Ana‘, ‘Wendy‘, ‘Jennifer‘, ‘Sherry‘, ‘Eva‘]] n = [name for lst in names for name in lst if name.count(‘e‘)>=2] print(n)
3、字典推导式
例1:将一个字典的key和value对调
tupt = {‘a‘:10,‘b‘:34} tupt_frequency = {tupt[k]: k for k in tupt} print(tupt_frequency) #分解说明 # for k in tupt: # print(tupt[k]) #结果 10 34 #k for k in tupt 结果 a b #所以{tupt[k]: k for k in tupt} 是 10:a 34:b
例2:合并大小写应对应的value值,将 k 统一成小写
tupt = {‘a‘:10,‘b‘:34,‘A‘:7,‘D‘:9} tupt_frequency ={k.lower():tupt.get(k.lower(),0) + tupt.get(k.upper(),0) for k in tupt.keys()} print(tupt_frequency)
4、集合推导式
例1:计算列表 中每个值的平法,自带去重功能
print(squared)
练习
listt = ["dasd","sdas","sd","b"] listt_fre = {i.upper() for i in listt if len(i)<3} print(listt_fre)
标签:过滤 ble size color gif 玩法 根据 font 哪些
原文地址:https://www.cnblogs.com/edeny/p/8945238.html