推导式 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]}
posted @ 2020-09-22 14:39  郁文  阅读(149)  评论(0)    收藏  举报