三元運算
可以解決if else 行數(shù)過多問題
print(1 if 5>3 else 0)
print('yes' if 3<1 else 'no')
a = '中文' if 3>1 else '日文'
print(a)
result :
result.png
生成列表字典等
list = [i for i in range(1,10)]
print(list)
dict = {i : i for i in range(1,10)}
print(dict)
result :
result.png
if or 簡化
n = 3
if n in [1,4,5,6] :
print(n,'in list')
else:
print(n,'not in list')
result :
result.png
lambda 函數(shù)
+
filter 函數(shù)
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函數(shù) 在python3中由列表變成迭代器了,所以如果得到的結(jié)果直接輸出就會成這樣的結(jié)果
<filter object at 0x10f677b00>
如果還想弄成python2的list話狈邑,用上邊用過的for方法
filter_list2 = [item for item in filter_list1]