https://www.bilibili.com/video/av17396749/?p=12
Iterators and generators in Python functional programming
Course content
1.iterators are objects that contain other objects
2.some built-in iterators are such as list,dict,tuple, and set.
3.learned the collections module offers other convenient iterators
4.generators are functions that yield and they are also iterators
5.understood that fenerators allow for lazy evaluation and coroutines,or light-weight threading.
Here are the notes
collections.namedtuple
namedtuple() is a factory function;that is,it generates a class,and not an instance of a class(an object)
two steps:
1.First,use namedtuple() to generate a class
2.then create an instance of this class
1 from collections import namedtuple 2 Person=namedtuple('Person',['name','age']) 3 jay_z=Person(name='Sean Carter',age=47) 4 print('%s is %s years old'%(jay_z.name,jay_z.age)) 5 print('%s is %s years old'%(jay_z[0],jay_z[1])) 6 7 8 9 输出 10 11 Sean Carter is 47 years old 12 Sean Carter is 47 years old
collections.OrderedDict
1 from collections import OrderedDict 2 d=OrderedDict([ 3 ('Lizard','Reptile'), 4 ('Whale','Mammal') 5 ] 6 ) 7 8 for species,_class in d.items(): 9 print('%s is a %s'%(species,_class)) 10 11 12 13 输出: 14 15 Lizard is a Reptile 16 Whale is a Mammal
collections.defaultdict
1 from collections import defaultdict 2 languages={ 3 'Jack':'java', 4 'Pony':'Ruby', 5 'Sara':'javascript' 6 } 7 d=defaultdict(lambda:'Python') 8 d.update(languages) 9 10 输出: 11 python