[4.5] list comprehension, generator expressions, dictionary derivation

  • List comprehensions

. 1  # ! / User / bin / Python the env 
2  # - * - Coding: UTF-. 8 - * - 
. 3  # listing formula derived above list of operating performance 
. 4  
. 5 odd_list = []
 . 6  for I in Range (21 is ):
 . 7      IF . 1% 2 == I :
 . 8          odd_list.append (I)
 . 9  
10  # extracted odd numbers between 1-20 
. 11 odd_list = [I for I in Range (21 is) IF I. 1% 2 == ]
 12 is  Print (odd_list)
 13 is  
14  # extracted odd numbers 1-20, and square 
15 
16 
17 def pow_item(item):
18     return item*item
19 
20 
21 odd_list = [pow_item(i) for i in range(21) if i % 2 == 1]
22 print(odd_list)
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
[1, 9, 25, 49, 81, 121, 169, 225, 289, 361]

  • generator expression

 1 #!/user/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # 生成器表达式
 4 
 5 odd_gen = (i for i in range(21) if i % 2 == 1)
 6 print(type(odd_gen))
 7 print(odd_gen)
 8 
 9 for item in odd_gen:
10     print(item)
11 
12 odd_list = list(odd_gen)
13 print(type(odd_list))
14 print(odd_list)
<class 'generator'>
<generator object <genexpr> at 0x0000015819C82660>
1
3
5
7
9
11
13
15
17
19

  • Dictionary derivations

 1 #!/user/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # 字典推导式
 4 my_dict = {'zy1': 11, 'zy2': 22, 'zy3': 33}
 5 reversed_dict = {value: key for key, value in my_dict.items()}
 6 print(reversed_dict)
 7 
 8 # 集合推导式
 9 my_set = {key for key, value in my_dict.items()}
10 print(type(my_set))
11 print(my_set)
{11: 'zy1', 22: 'zy2', 33: 'zy3'}
<class 'set'>
{'zy3', 'zy2', 'zy1'}

  

Guess you like

Origin www.cnblogs.com/zydeboke/p/11247884.html