标签:过滤 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