三元表达式,列表生成式,字典生成式,生成器表达式

Posted chillwave

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三元表达式,列表生成式,字典生成式,生成器表达式相关的知识,希望对你有一定的参考价值。

三元表达式

条件成立时的返回值 if 条件 else 条件不成立时的返回值

def max2(x,y):
    if x > y:
        return x
    else:
        return y
print(max2(10,20))

x
=10 y=20 res=x if x > y else y print(res)

 

 

列表生成式

#输出1~10中每个数字的平方
l=[item**2 for item in range(1,11)] print(l)

 

names=[alex,wxx,lxx]
为列表中每个人名加上SB
l=[]
for name in names:
    l.append(name + SB)
names=l
print(l)
列表生成式写法 names
=[name+SB for name in names] print(names)

 

names=[alex,wxx,egon,lxx,zhangmingyan]
为列表中除了egon外的每个人名加上SB l
=[] for name in names: if name != egon: l.append(name + SB) names=l

列表生成式写法 names
=[name+SB for name in names if name != egon] print(names)

 

把所有元素大写
names=[egon,alex_sb,wupeiqi,yuanhao] names=[name.upper() for name in names] print(names)

把不以sb结尾的元素的长度以列表输出 names
=[egon,alex_sb,wupeiqi,yuanhao] nums=[len(name) for name in names if not name.endswith(sb)] print(nums)

 

字典生成式


s1=hello l1=[1,2,3,4,5] res=zip(s1,l1) print(res)     #输出的是内存地址 print(list(res))    #打印结果:[(‘h‘, 1), (‘e‘, 2), (‘l‘, 3), (‘l‘, 4), (‘o‘, 5)]

 

keys=[name,age,sex]
values=[egon,18,male]

res=zip(keys,values)
print(list(res))       #[(‘name‘, ‘egon‘), (‘age‘, 18), (‘sex‘, ‘male‘)]
print(list(res))
d={}
for k,v in zip(keys,values):
    d[k]=v
print(d)            #{‘name‘: ‘egon‘, ‘age‘: 18, ‘sex‘: ‘male‘}

 

字典生成器写法
keys=[name,age,sex]
values=[egon,18,male]
d={k:v for k,v in zip(keys,values)}
print(d)      #{‘name‘: ‘egon‘, ‘age‘: 18, ‘sex‘: ‘male‘}

 

info={name: egon, age: 18, sex: male}

keys=info.keys()
# print(keys)
iter_keys=keys.__iter__()
values=info.values()
# print(values)

d={k:v for k,v in zip(keys,values)}
print(d)

 

生成器表达式

with open(a.txt,encoding=utf-8) as f:
    nums=(len(line) for line in f)
    print(max(nums))      #统计a.txt中最长一行的长度

 

l=[egg%s %i for i in range(100)]
print(l)        #输出‘egg0‘到‘egg99‘

 

g=(egg%s %i for i in range(1000000000000))
# print(g)
print(next(g))
print(next(g))          #next一个出一个












以上是关于三元表达式,列表生成式,字典生成式,生成器表达式的主要内容,如果未能解决你的问题,请参考以下文章

Python生成器三元表达式列表生成式字典生成式生成器表达式

三元表达式,列表推导式和字典生成式

递归/匿名函数/三元表达式/列表生成式/字典生成式/二分算法

三元表达式,列表推导是,字典生成式

函数的递归,二分法,三元表达式,列表生成式,字典生成式,匿名函数,内置方法

Python之浅谈生成器