【测试开发学习历程】python推导式

发布于:2024-04-08 ⋅ 阅读:(135) ⋅ 点赞:(0)

Python当

目录

1 列表推导式

2 字典推导式

3 集合推导式

4 生成器推导式


中有如下的推导式:

  • 列表推导式

  • 字典推导式

  • 集合推导式

  • 生成器推导式

推导式的作用是可以快速地生成一个列表、字典或者集合,同时简化代码。

下面我们来介绍一下python中的推导式:

1 列表推导式

列表推导式的语法:

[结果 for 变量 in 可迭代对象] 或者 [结果 for 变量 in 可迭代对象 if 布尔表达式]

举例:

# 普通形式
## 以列表的形式输出100以内的正偶数
list1=[]
for i in range(1,101):
    if i%2==0:
    list1.append(i)
print(list1)
​
# 列表推导式举例
# 把100以内(含)的偶数放到列表中输出
print([i for i in range(1,101) if i%2==0])
​
# 列表推导式不加if
print([i for i in range(2,101,2)])
​
# 统计字符串中只出现一次的字符,以列表返回字符串
str1="helloworld"
print([i for i in str1 if str1.count(i)==1])

2 字典推导式

语法:

{结果 for 变量 in 可迭代对象}

或者

{结果 for 变量 in 可迭代对象 if 布尔表达式};

注意字典推导式的结果是键值对,即

key:value

举例:

tupl1=(("姓名","张三"),("年龄",20),("体重",190),("身高",180))
print({i:j for i,j in tupl1})
​
#交换key和value的位置
print({j:i for i,j in tupl1})
​
#加判断条件
print({i:j for i,j in tupl1 if j !=190})
​
#统计字符串中每个字符出现的次数,以字典返回
str1="helloworld"
print({i:str1.count(i) for i in str1})
​
#统计字符串中只出现一次的字符,以字典返回字符及出现次数
str1="helloworld"
print({i:str1.count(i) for i in str1 if str1.count(i)==1})

3 集合推导式

语法:{结果 for 变量 in 可迭代对象} 或者 {结果 for 变量 in 可迭代对象 if 布尔表达式};集合推导式跟字典推导式的区别是:字典推导式的结果是键值对,集合推导式的结果是单个结果。

举例:

dict1={"姓名":"张三","年龄":20,"体重":180,"身高":180}
print({x for x in dict1.keys()})
print({x for x in dict1.values()})
# 加if判断,只取int类型的数据
print({x for x in dict1.values() if type(x)==int})

4 生成器推导式

语法:

(结果 for 变量 in 可迭代对象)

或者

(结果 for 变量 in 可迭代对象 if 布尔表达式)

举例:

gen_1 = (a**2 for a in range(1,10))
​
#用元组形式展示数据
print(tuple(gen_1))


网站公告

今日签到

点亮在社区的每一天
去签到