三元表达式:
name=input('姓名>>: ') res='NB' if name == 'wesley' else 'SB' print(res)
姓名>>: wesley
NB
列表推导式:
[expression for item1 in iterable1 if condition1 for item2 in iterable2 if condition2 ... for itemN in iterableN if conditionN ]
names=['wen_SB','wesley'] res=[names.remove(i) for i in names if i.endswith('SB')] #直接执行表达式,不产生其他的 print(names)
['wesley']
生成器表达式:
(expression for iter_val in iterable)
(expression for iter_val in iterable if cond_expr)
names=['wen_SB','wesley',] res=(names.remove(i) for i in names if i.endswith('SB')) print(res.__next__()) #类似于必须启动这个生成器后才能执行表达式 print(names)
None
['wesley']