python学习之推导式

推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。主要包括数组推导式,字典推导式以及集合推导式

数组推导式

数组推导式的格式如下

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:  根据条件过滤哪些值可以。

样例

l = [i for i in range(10)]
print(l)

def square(i):
    return i * i

p = [square(i) for i in range(10)]
print(p)

执行结果如下图,通过推导式获得的是新的数组列表
在这里插入图片描述

字典推导式

字典推导式和数组推导式类似,主要常用的功能是将一个字典的key和value互换。

d = {"vs": 2, "sfb": 42}
new_d = {value: key for key, value in d.items()}

print(d)
print(new_d)

执行结果如下
在这里插入图片描述
当然,也可以统计各个集合中元素的长度

s = {"sdvsvs","svsv","df"}
s_len = {key:len(key) for key in s}
print(s_len)

执行结果是
在这里插入图片描述

集合推导式

集合推导式和数组推导式类似,在使用集合推导式时,主要利用了集合的不重复特点,例如将一些数组中的部分值去重,

names = ['Bob', 'JOHN', 'alice', 'bob', 'ALICE', 'James', 'Bob', 'JAMES', 'jAMeS']
names_standard = {name.lower() for name in names}
print(names)
print(names_standard)

执行结果如下
在这里插入图片描述
以上就是推导式的学习,上面的代码可以通过git获得

发布了54 篇原创文章 · 获赞 9 · 访问量 1222

猜你喜欢

转载自blog.csdn.net/qq_29983883/article/details/105434462
今日推荐