python中的各种表达式
1 三元运算符
格式:
变量=条件返回True的结果 if 条件 else 条件返回False的结果
条件:
1 必须有结果
2 必须要有if和else
3 简单的条件判断
# a=1 # b=5 # c=a if a>b else b # print(c) # def max_test(a,b): # return a if a>b else b print(max_test(3,50))
2 列表表达式
格式:
[每一个元素或则和元素相关的操作 for 元素 in 可迭代数据类型] 遍历后挨个处理
[满足条件的元素相关的操作 for 元素 in 可迭代对象 if 元素相关的条件] 筛选条件
#30以内能被3整除的数 # lista=[i for i in range(30) if i%3==0] # print(lista) # # #30以内能被3整除的数的平方 # listb=[ii*ii for ii in range(30) if ii%3==0] # print(listb) #查找嵌套列表内 含有2个e字母的元素 # names=[['Tom','Billy','Jefferson','Andrew','Wesley','Steven','Joe'],['Alice','Jill','Ana','Wendy','Jennifer','Sherry','Eva']] # # ret=[name for lst in names for name in lst if name.count('e')==2] # print(ret)
3 生成器表达式
格式: 同列表表达式
#10内数字的平方列表 # g_04=(i*i for i in range(10)) # #g_04=(i*i for i in range(10))并没有直接执行,是下方的for循环开始后才调用.__next__方法的 # for i in g_04: # print(i)
4 字典表达式
# dict_01={'a':10,'b':34} # dict_02={dict_01[k]:k for k in dict_01} # print(dict_02) #合并大小写对应的value值 将k统一成小写 # dict_03={'a':10,'b':34,'A':7,'Z':3} # dict_04={k.lower():dict_03.get(k.lower(),0)+dict_03.get(k.upper(),0) for k in dict_03} # print(dict_04)
5 集合表达式
# set_01={x**2 for x in [1,-1,2]} # print(set_01)