列表推导式:
>>> li = []
>>> for i in range(10):
li.append('第%d个'%(i))
>>> print(li)
['第0个', '第1个', '第2个', '第3个', '第4个', '第5个', '第6个', '第7个', '第8个', '第9个']
简化为:
>>> print(['第%d个'%i for i in range(10)])
['第0个', '第1个', '第2个', '第3个', '第4个', '第5个', '第6个', '第7个', '第8个', '第9个']
生成器表达式:
>>> g = ('第%d个'%i for i in range(10))
>>> print(g)
<generator object <genexpr> at 0x00000075C59005E8>
>>> for i in g:
print(i)
第0个
第1个
第2个
第3个
第4个
第5个
第6个
第7个
第8个
第9个
#列表推导式和生成器表达式的区别:
#1.括号不一样。
#2.返回的值不一样,生成器表达式几乎不占内存,但生成器表达式不直接返回结果。
#[每一个元素或和元素相关的操作 for 元素 in 可迭代对象] 遍历处理
#[满足条件的元素相关的操作 for 元素 in 可迭代对象 if 元素相关条件] 筛选处理
#[满足条件的元素相关的操作 for 元素 in 可迭代对象 for 元素 in 可迭代对象 if 元素相关条件] 多层嵌套、筛选处理
二元运算:
# h = '变量/代码1' if a > b else '变量/代码2'
#如果a>b为真,则执行1,否则执行2