码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-06-13 23:33:02      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:open   一个   utf-8   color   []   表达式   结果   turn   大写   

三元表达式

条件成立时的返回值 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一个出一个

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

标签:open   一个   utf-8   color   []   表达式   结果   turn   大写   

原文地址:https://www.cnblogs.com/chillwave/p/9180544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!