条件推导式 if
value1 if 条件判断 else value2
value1 : 当条件成立的时候执行value1
value2 : 当条件不成立的时候执行value2
##示例:
# 传统写法
x = 11
if x%2 ==0:
print("x是一个偶数")
else:
print("x是一个奇数")
# 条件推导式
y = 15
print("这是一个偶数") if y%2 == 0 else print("y是一个奇数")
列表推导式 --> 得到的结果也是列表
格式1: value1 for i in data if 判断条件
示例 :[i*10 for i in range(21) if i % 2 == 0]
value1: 当条件成立的时候执行
i 循环中的变量
data : 序列
if :判断的条件
格式2: value1 if 判断条件 else value2 for 变量 data
示例2:[i*10 if i % 2 == 0 else i*100 for i in range(21)]
value1: 在for循环中,if判断条件成立执行的代码
value2 :在for玄幻中,if判断条件不成立执行的代码
##示例:
# 需求 获取0 - 20 之间的偶数乘以10,并统计所有得到的结果
#传统写法
numbers = []
for i in range(21):
if i % 2 == 0:
j = i * 10
numbers.append(j)
print(numbers)
# 列表推导式写法
numbers1 = [i*10 for i in range(21) if i % 2 == 0]
print(numbers1)
# 获取0 - 20 之间的偶数乘以10,奇数乘以100 并统计所有得到的结果
# 传统写法
numbers2 = []
for i in range(21):
if i % 2 == 0:
j = i * 10
numbers2.append(j)
else:
j = i * 100
numbers2.append(j)
print(numbers2)
numbers3 = [i*10 if i % 2 == 0 else i*100 for i in range(21)]
字典推导式
格式:{value1 for 变量 in 序列 if 判断条件 }
示例1 :{key:value for key,value in dict_source.items() if key.islower()}
格式 : value1 if 判断条件 else value2 for 变量 in 序列
示例2 :{key:"庞科" if key.islower() else value for key,value in dict_source.items()}
循环里面有个判断,如果条件成立value1,不成立value2
##示例
dict_source = {"a":10,"B":20,"C":True,"D":"hello world","e":"python教程"}
# 需求 提取字典中的小写key值的键值对
dict1 = {}
for key,value in dict_source.items():
# 判断是否是小写 key.islower() key.isupper() 判断是否是大写
if key.islower():
dict1[key] = value
print(dict1)
dict1_1 = {key:value for key,value in dict_source.items() if key.islower()}
print(dict1_1)
# 需求:将所有的key都变成小写
dict1_2 = {key.lower():value for key,value in dict_source.items()}
print(dict1_2)
# 需求 : 将所有小写的key的值都变成 庞科
dict3 = {}
for key,value in dict_source.items():
if key.islower():
dict3[key] = "庞科"
else:
dict3[key] = value
print(dict3)
dict4 = {key:"庞科" if key.islower() else value for key,value in dict_source.items()}
print(dict4)