python表达式

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)
​
posted @ 2022-08-06 11:39  无敌大牛牛  阅读(110)  评论(0编辑  收藏  举报