遵义 网站建设,做seo推广网站,做图的模板下载网站有哪些内容,wordpress移动端插件menupython中的推导式是一种独特的数据处理方式#xff0c;可以从一个数据序列去构建另一个新的数据序列的结构体。
它包括以下推导式#xff1a;
列表#xff08;list#xff09;推导式字典#xff08;dict#xff09;推导式集合#xff08;set#xff09;推导式元组可以从一个数据序列去构建另一个新的数据序列的结构体。
它包括以下推导式
列表list推导式字典dict推导式集合set推导式元组tuple推导式
列表list推导式
列表推导式的一般格式为
[表达式1 for 变量名 in 列表名]
或者对推导式结果进行筛选
[表达式1 for 变量名 in 列表名 if 表达式2]
其中表达式1表示的是列表生成元素表达式它可以是有返回值的函数表达式2是条件过滤语句可以过滤掉不符合条件的值。
以下是简单的实例
#列表推导式
#将list1乘以2倍输出
list1[1,2,3]
print([i*2 for i in list1 if i1])
#list1中长度大于3的字符串小写全部转成大写输出
list1[lily,judy,Anny,Bob]
print([str.upper() for str in list1 if len(str)3])
#打印20以内可以被2整除的整数
print([num for num in range(20) if num%20]) 字典dict推导式
字典推导式的一般格式为
{键:值表达式 for 键 in 序列}
或
{键:值表达式 for 键 in 序列 if 条件表达式}
下面是简单的实例
#字典推导式
#列表元素作为键列表元素的长度作为值
list1[name,sex,age]
dict1{str:len(str) for str in list1}
print(dict1)
#用推导式复制出一个拥有相同键值对的字典
dict2{name:卷鹅,sex:男,age:28}
dict3{str:dict2[str] for str in dict2.keys()}
print(dict3)
print(id(dict2)) #对比两个字典的id是不同的
print(id(dict3))
#用推导式计算三个整数的幂方
dict4{num:num**2 for num in range(1,5)}
print(dict4)
#加上筛选条件
dict4{num:num**2 for num in range(1,5) if num!3}
print(dict4) 集合set推导式
集合推导式的一般格式为
{表达式 for 变量 in 序列}
或
{表达式 for 变量 in 序列 if 条件表达式}
简单实例如下
#集合推导式
set1{var**3 for var in range(1,6)}
print(set1)
set2{ch for ch in(a,b,c,d,e) if ch not in (a,c)}
print(set2) 注意输出的集合是无序的
元组tuple推导式生成器表达式
元组推导式可以利用 range 区间、元组、列表、字典和集合等数据类型快速生成一个满足指定需求的元组。
元组推导式基本格式
表达式 for 变量名 in 序列 或
表达式 for 变量名 in 序列 if 条件表达式
元组推导式和列表推导式的用法完全相同只是元组推导式是用 () 圆括号将各部分括起来而列表推导式用的是中括号 []另外元组推导式返回的结果是一个生成器对象。
但是我们可以用类型转换函数将它转换为一个元组
简单的实例如下
#元组推导式
a (x for x in range(1,10))
print(a)
print(type(a))
tuple1tuple(a)
print(tuple1)
print(type(tuple1))