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)

  

posted @ 2020-01-18 16:47  Yuan_x  阅读(1809)  评论(0编辑  收藏  举报