河北建设厅网站怎么搜索文件,网站常用素材,国内的跨境电商平台有哪些,物流网站建设方案推导式的套路 之前我们已经学习了最简单的列表推导式和生成器表达式。但是除此之外#xff0c;其实还有字典推导式、集合推导式等等。 下面是一个以列表推导式为例的推导式详细格式#xff0c;同样适用于其他推导式。 variable [out_exp_res for out_exp in input_list if o… 推导式的套路 之前我们已经学习了最简单的列表推导式和生成器表达式。但是除此之外其实还有字典推导式、集合推导式等等。 下面是一个以列表推导式为例的推导式详细格式同样适用于其他推导式。 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传入out_exp_res表达式中。if out_exp 2 根据条件过滤哪些值可以。 列表推导式 例一30以内所有能被3整除的数 multiples [i for i in range(30) if i % 3 is 0]
print(multiples)
# Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27] 列表推导式1 例二30以内所有能被3整除的数的平方 def squared(x):return x*x
multiples [squared(i) for i in range(30) if i % 3 is 0]
print(multiples) 列表推导式2 例三:找到嵌套列表中名字含有两个‘e’的所有名字 names [[Tom, Billy, Jefferson, Andrew, Wesley, Steven, Joe],[Alice, Jill, Ana, Wendy, Jennifer, Sherry, Eva]]print([name for lst in names for name in lst if name.count(e) 2]) # 注意遍历顺序这是实现的关键 嵌套列表推导式 字典推导式 例一将一个字典的key和value对调 mcase {a: 10, b: 34}
mcase_frequency {mcase[k]: k for k in mcase}
print(mcase_frequency) 字典推导式1 例二合并大小写对应的value值将k统一成小写 mcase {a: 10, b: 34, A: 7, Z: 3}
mcase_frequency {k.lower(): mcase.get(k.lower(), 0) mcase.get(k.upper(), 0) for k in mcase.keys()}
print(mcase_frequency) 字典推导式2 集合推导式 例计算列表中每个值的平方自带去重功能 squared {x**2 for x in [1, -1, 2]}
print(squared)
# Output: set([1, 4]) 集合推导式1 练习题 例1: 过滤掉长度小于3的字符串列表并将剩下的转换成大写字母 例2: 求(x,y)其中x是0-5之间的偶数y是0-5之间的奇数组成的元祖列表 例3: 求M中3,6,9组成的列表M [[1,2,3],[4,5,6],[7,8,9]] 1.[name.upper() for name in names if len(name)3]
2.[(x,y) for x in range(5) if x%20 for y in range(5) if y %21]
3. [row[2] for row in M] code 转载于:https://www.cnblogs.com/liwenzhou/p/9762052.html