三元运算
可以解决if else 行数过多问题
print(1 if 5>3 else 0)
print('yes' if 3<1 else 'no')
a = '中文' if 3>1 else '日文'
print(a)
result :
生成列表字典等
list = [i for i in range(1,10)]
print(list)
dict = {i : i for i in range(1,10)}
print(dict)
result :
if or 简化
n = 3
if n in [1,4,5,6] :
print(n,'in list')
else:
print(n,'not in list')
result :
lambda 函数
+
filter 函数
lambda
def f(x):
return x**2
print f(4)
可以改写成
g = lambda x : x**2
print g(4)
filter 和 lambda的使用
task = filter(lambda t: t['id'] == task_id, tasks)
filter函数 在python3中由列表变成迭代器了,所以如果得到的结果直接输出就会成这样的结果
<filter object at 0x10f677b00>
如果还想弄成python2的list话,用上边用过的for方法
filter_list2 = [item for item in filter_list1]