目录
1.推导式
1.1列表推导式
lt=[表达式 for 自定义变量 in 可迭代对象 ]
lt=[表达式 for 自定义变量 in 可迭代对象 if 真值表达式]
[out_exp_res for out_exp in input_list if condition]
-
out_exp_res:列表生成元素表达式,可以是有返回值的函数。
-
for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
-
if condition:条件语句,可以过滤列表中不符合条件的值。
list1=[i for i in range(1,11,1)]
print(list1)
list2=[item for item in list1 if item%2==0]
print(list2)
list3=[item for item in list1 if item>5 and item%2==1]
print(list3)
1.2元组推导式
tup=(表达式 for 自定义变量 in 可迭代对象 )
tup=(表达式 for 自定义变量 in 可迭代对象 if 真值表达式)
(out_exp_res for out_exp in input_list if condition)
-
out_exp_res:元组生成元素表达式,可以是有返回值的函数。
-
for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
-
if condition:条件语句,可以过滤列表中不符合条件的值。
元组推导式返回的结果是一个生成器对象。
#生成一个包含数字 1~9 的元组
a = (x for x in range(1,10))
print(a)#返回的是生成器对象
print(tuple(a))#使用 tuple() 函数,可以直接将生成器对象转换成元组
1.3字典推导式
dict={键表达式: 值表达式 for 自定义变量 in 可迭代对象 }
dict={键表达式: 值表达式 for 自定义变量 in 可迭代对象 if 真值表达式}
{ key_expr: value_expr for value in collection if condition }
-
key_expr:生成字典元素的键,可以是有返回值的函数。
-
value_expr:生成字典元素的值,可以是有返回值的函数。
-
for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
-
if condition:条件语句,可以过滤列表中不符合条件的值。
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
listdemo = ['karen','jack', 'marry']
newdict = {key:len(key) for key in listdemo}
print(newdict)#{'karen': 5, 'jack': 4, 'marry': 5}
#提供三个数字,以三个数字为键,三个数字的平方为值来创建字典:
dic = {x: x**2 for x in (2, 4, 6)}
print(dic)#{2: 4, 4: 16, 6: 36}
1.4集合推导式
tup={表达式 for 自定义变量 in 可迭代对象 }
tup={表达式 for 自定义变量 in 可迭代对象 if 真值表达式}
{out_exp_res for out_exp in input_list if condition}
-
out_exp_res:集合生成元素表达式,可以是有返回值的函数。
-
for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
-
if condition:条件语句,可以过滤列表中不符合条件的值。
#计算数字 1,2,3 的平方数:
setnew = {i**2 for i in (1,2,3)}
print(setnew)#{1, 4, 9}
#判断不是 abc 的字母并输出:
a = {x for x in 'abracadabra' if x not in 'abc'}
print(a)#{'d', 'r'}
8万+

被折叠的 条评论
为什么被折叠?



