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

三元运算,列表解析,生成器表达式

时间:2018-04-07 16:08:50      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:print   __next__   int   range   []   log   自己   ==   类型   

生成器: 可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型调用了自己内置的_iter_()方法),所以生成器就是可迭代对象

# 三元表达式
name = ‘alex‘
name = ‘liuhaiquan‘
res = ‘SB‘if name == ‘alex‘ else ‘shuai‘
print(res)

#列表解析
eggs_li = []
for i in range(10):
eggs_li.append(‘鸡蛋%s‘ %i)
print(eggs_li)#结果:[‘鸡蛋0‘, ‘鸡蛋1‘, ‘鸡蛋2‘, ‘鸡蛋3‘, ‘鸡蛋4‘, ‘鸡蛋5‘, ‘鸡蛋6‘, ‘鸡蛋7‘, ‘鸡蛋8‘, ‘鸡蛋9‘]

#等同于
l = [‘鸡蛋%s‘ % i for i in range(10)]
l2 = [‘鸡蛋%s‘ % i for i in range(10) if i > 5]
print(l)#结果:[‘鸡蛋0‘, ‘鸡蛋1‘, ‘鸡蛋2‘, ‘鸡蛋3‘, ‘鸡蛋4‘, ‘鸡蛋5‘, ‘鸡蛋6‘, ‘鸡蛋7‘, ‘鸡蛋8‘, ‘鸡蛋9‘]
print(l2)#结果:[‘鸡蛋6‘, ‘鸡蛋7‘, ‘鸡蛋8‘, ‘鸡蛋9‘]

laomuji = (‘鸡蛋%s‘ %i for i in range(10))
print(laomuji) #老母鸡就是生成器
print(laomuji.__next__()) #输出结果:鸡蛋0
print(laomuji.__next__()) #输出结果:鸡蛋1
print(laomuji.__next__()) #输出结果:鸡蛋2
print(next(laomuji)) #输出结果:鸡蛋3

print(sum(i for i in range(100000000)))

三元运算,列表解析,生成器表达式

标签:print   __next__   int   range   []   log   自己   ==   类型   

原文地址:https://www.cnblogs.com/lhqlhq/p/8733223.html

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