python表达式
三元表达式
# 三元表达式格式
# 条件成立时候返回的值:if 条件 else 条件不成立时返回的值
a = 1
b = 2
c = 10 # 条件
result = a if c == 10 else b
列表生成式(也叫列表推导式)
# 需求:把老坛酸菜结尾的提取到另外一个列表
my_list = ["康师傅_老坛酸菜","统一_老坛酸菜","大今野_老坛酸菜","白象"]
new_list = []
for name in my_list:
if name.endswith("老坛酸菜"):
new_list.append(name)
print(new_list)
# 使用列表生成式(作用:简化代码)
my_list = ["康师傅_老坛酸菜","统一_老坛酸菜","大今野_老坛酸菜","白象"]
new_list = [name for name in my_list if name.endswith("老坛酸菜")]
print(new_list)
# 如果条件成立就把name添加到列表当中,这个name也可以写成其他的
# if可以省略,省略后,默认是if True
# new_list = ["如果if条件成立要添加到列表中的元素" for name in my_list]
new_list = ["如果if条件成立要添加到列表中的元素" for name in my_list if name.endswith("老坛酸菜")]
# [
'如果if条件成立要添加到列表当中的元素',
'如果if条件成立要添加到列表当中的元素',
'如果if条件成立要添加到列表当中的元素'
]
my_dict = {"key1":"vaule1"}
for k i my_dict:
print(k) # 遍历字典输出的是字典的key
for k,v in my_dict.items():
print(k,v) # key1,value1
# 字典推导式
my_list = [("康师傅_老坛酸菜",5),("统一_老坛酸菜",6),("大今野_老坛酸菜",7),("白象",8)]
result = {key:value for key,value in my_list if not key.startswith("康师傅")}
print(result)
生成式总结
分三部分去看
1.左边是条件成立时,要添加的值
2.中间是:for 循环
3.右边是:if条件判断
比如列表生成式,就在列表里面写表达式
字典生成式就在字典里面写表达式,for 循环的 左边要以 key:value的格式
元组生成式(因为元组是不可变类型,所以要叫生成器表达式),集合生成式
# 三元表达式
a = 10
result = "条件成立要返回的值" if a ==10 else "条件不成立要返回的值"
print(result)
# 列表推导式
result = [("条件成立要添加的值",i) for i in range(10) if i >5]
print(result)