list derivation(列表推导式)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| l = [x*x for x in range(5)] [i+1 if i>0 else 1 for i in l] [i+1 if i>0 else 2 for i in l] [i for i in l if i >4 and i <=16] vec = [[1,2,3], [4,5,6], [7,8,9]] [num for elem in vec for num in elem] [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y] ``` 改变字典的值 ```python l_d = [{'name':'femn','age':25},{'name':'femnyy','age':35}] [i if i.get('age')> 25 else i for i in l_d] [i.update({'name':'femnhh'}) if i.get('age')> 25 else i for i in l_d] l_d
|
generator derivation(生成器推导式)
1 2
| g = (x*x for x in range(5)) next(g)
|
dict derivation (字典推导式)
1 2 3 4
| prices = {'ACME': 45.23,'AAPL': 612.78,'IBM': 205.55,\ 'HPQ': 37.20,'FB': 10.75} p1 = {key: value for key, value in prices.items() if value > 20}
|