推导式 comprehension
推导式,又可称之为解析式。
列表解析式
语法结构如下:
multiples = [i**2 for i in range(10) if i % 2 is 0]
实现上述内容,也可使用Filter
less_than_zero = filter(lambda x: x < 0, range(-5, 5))
print(list(less_than_zero))
字典解析式
字典解析式的使用方法与列表的使用方法是类似的
# 加值计算
test_dict = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
mcase_frequency = {
k.lower(): test_dict.get(k.lower(), 0)+test_dict.get(k.upper(), 0)
for k in test_dict.keys()
}
print(mcase_frequency)
# 兑换一个字典的键和值
# { v:k for k,v in template_dict.items()}
template_dict = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
trans_dict = {v: k for k, v in template_dict.items()}
trans_dict
集合推导式
集合推导式的方法与列表推导式一样,但是使用的是{}
squared = {x**2 for x in [1, 2, 5, 2, 6, 9]}

浙公网安备 33010602011771号