SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Jordi Riera
● Software developer @ Rodeo FX
● Founder @ cgstudiomap.org
● 8 ans à écrire du python
● kender.jr@gmail.com
● @jordiriera_cg
● https://www.linkedin.com/in/jordirieracg/
● https://github.com/foutoucour/
How To Train Your Python
Les bases sur les iterables
Iterables
+ de 10 types d’iterables
liste, et pas que
● List & deque
● Tuple & namedtuple
● String
● Set & frozenset
● Dict, Ordereddict, ChainMap, Counter & defaultdict
● Generators
● Range, zip, map, file object, et autres.
Lequel choisir?
Lequel choisir?
● List, deque, tuple, string, generators, Ordereddict: ordonnés
● Tuple, frozenset: immuables (well... kind of... :( )
● Set & frozenset: caractère unique
● Dict, Ordereddict, ChainMap, Counter & defaultdict: mapping
● String: ... ben... string quoi...
● Generators, range, zip, map, etc: optimisation, consommation
for loop
languages = [‘php’, ‘ruby’, ‘python’]
frameworks = [‘symfony’, ‘ruby on rails’, ‘django’]
for i in range(len(languages)):
print(languages[i] + ‘: ’ + frameworks[i])
for loop
languages = [‘php’, ‘ruby’, ‘python’]
frameworks = [‘symfony’, ‘ruby on rails’, ‘django’]
for i, language in enumerate(languages):
print(‘: ’.join([language, frameworks[i]]))
for language, framework in zip(languages, frameworks):
print(‘: ’.join([language, framework]))
Set
random_numbers = [ 3, 4, 4, 1, 2, 3, 1]
set(random_numbers)
>>> {1, 2, 3, 4}
frozenset(random_numbers)
>>> frozenset({1, 2, 3, 4})
Set
Sets acceptent les
opérations mathématiques:
● Union
● Intersection
● Difference
● Et d’autres opérations
plus chelou, mais ça fait
de jolies figures
dict, feel the powa!
mapping = dict() # ou {}
for language, framework in zip(languages, frameworks):
if not language in languages:
mapping[language] = []
mapping[language].append(framework)
dict
mapping = defaultdict(list)
for language, framework in zip(languages, frameworks):
mapping[language].append(framework)
mapping = {}
for l, framework in zip(languages, frameworks):
mapping.setdefault(l, []).append(framework)
dict
dict
mapping = {‘php’:[‘symfony’], ‘ruby’:[’ruby on rails’],
‘python’:[’django’]}
for language in mapping:
print(language)
for language, frameworks in mapping.items():
print(language, frameworks)
dict
mapping = {‘php’:[‘symfony’], ‘ruby’:[’ruby on rails’],
‘python’:[’django’]}
print(mapping[‘python’])
del mapping[‘python’]
print(mapping.get(‘python’, ‘flask’))
Mapping[‘python’] = ‘pyramid’
muabilité
# Les listes sont muables. Elles peuvent être mis à jour:
list1 = [1,]
list1.append(2)
list1 == [1, 2]
Et d’autres méthodes...
list2 = [1,]
list2.insert(0, 2)
list2 == [2, 1]
muabilité
# Cool mais...
list2 = list1
list1.append(3)
list2 == [1, 2, 3]
# list2 “pointe” vers list1.
# list1 et list2 sont la même
liste en fait...
muabilité
# Solution
list2 = list1[:]
# list2 est une liste avec
tous les éléments de list1
# you’re welcome ;)
# Les tuples sont immuables,
# ils ne peuvent pas être mis à jour:
tuple1 = (1,)
tuple1.append(2)
Raise AttributeError
immuabilité
# enfin...
list1 = [1,]
tuple1 = (1, list1)
list1.append(2)
tuple1 == (1, [1, 2])
# pas cool bro!
immuabilité
Compréhension à la portée de tous!
list1 = [x for x in z if not x == ‘foo’]
gen = (x for x in z if not x == ‘foo’)
# Nope c’est pas un tuple! Mais un générateur.
set1 = {x for x in z if not x == ‘foo’}
dic1 = {x: x.bar for x in z if not x == ‘foo’}
Questions?
● kender.jr@gmail.com
● @jordiriera_cg
● https://www.linkedin.com/in/jordirieracg/
● https://github.com/foutoucour/

Weitere ähnliche Inhalte

Ähnlich wie How to train your python: iterables (FR)

Introduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at lastIntroduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at lastHolden Karau
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?lichtkind
 
R and Python, A Code Demo
R and Python, A Code DemoR and Python, A Code Demo
R and Python, A Code DemoVineet Jaiswal
 
Groovy On Trading Desk (2010)
Groovy On Trading Desk (2010)Groovy On Trading Desk (2010)
Groovy On Trading Desk (2010)Jonathan Felch
 
Introduction To Apache Pig at WHUG
Introduction To Apache Pig at WHUGIntroduction To Apache Pig at WHUG
Introduction To Apache Pig at WHUGAdam Kawa
 
Deep learning - the conf br 2018
Deep learning - the conf br 2018Deep learning - the conf br 2018
Deep learning - the conf br 2018Fabio Janiszevski
 
A fast introduction to PySpark with a quick look at Arrow based UDFs
A fast introduction to PySpark with a quick look at Arrow based UDFsA fast introduction to PySpark with a quick look at Arrow based UDFs
A fast introduction to PySpark with a quick look at Arrow based UDFsHolden Karau
 
Standardizing on a single N-dimensional array API for Python
Standardizing on a single N-dimensional array API for PythonStandardizing on a single N-dimensional array API for Python
Standardizing on a single N-dimensional array API for PythonRalf Gommers
 
Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In PythonMarwan Osman
 
Rpg Pointers And User Space
Rpg Pointers And User SpaceRpg Pointers And User Space
Rpg Pointers And User Spaceramanjosan
 
All I know about rsc.io/c2go
All I know about rsc.io/c2goAll I know about rsc.io/c2go
All I know about rsc.io/c2goMoriyoshi Koizumi
 
Reproducible Computational Research in R
Reproducible Computational Research in RReproducible Computational Research in R
Reproducible Computational Research in RSamuel Bosch
 
Pipfile, pipenv, pip… what?!
Pipfile, pipenv, pip… what?!Pipfile, pipenv, pip… what?!
Pipfile, pipenv, pip… what?!Ivan Chernoff
 
Introduction to D programming language at Weka.IO
Introduction to D programming language at Weka.IOIntroduction to D programming language at Weka.IO
Introduction to D programming language at Weka.IOLiran Zvibel
 
190111 tf2 preview_jwkang_pub
190111 tf2 preview_jwkang_pub190111 tf2 preview_jwkang_pub
190111 tf2 preview_jwkang_pubJaewook. Kang
 

Ähnlich wie How to train your python: iterables (FR) (20)

Introduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at lastIntroduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at last
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?
 
R and Python, A Code Demo
R and Python, A Code DemoR and Python, A Code Demo
R and Python, A Code Demo
 
Groovy On Trading Desk (2010)
Groovy On Trading Desk (2010)Groovy On Trading Desk (2010)
Groovy On Trading Desk (2010)
 
Experimental dtrace
Experimental dtraceExperimental dtrace
Experimental dtrace
 
R - the language
R - the languageR - the language
R - the language
 
Introduction To Apache Pig at WHUG
Introduction To Apache Pig at WHUGIntroduction To Apache Pig at WHUG
Introduction To Apache Pig at WHUG
 
Deep learning - the conf br 2018
Deep learning - the conf br 2018Deep learning - the conf br 2018
Deep learning - the conf br 2018
 
Dafunctor
DafunctorDafunctor
Dafunctor
 
A fast introduction to PySpark with a quick look at Arrow based UDFs
A fast introduction to PySpark with a quick look at Arrow based UDFsA fast introduction to PySpark with a quick look at Arrow based UDFs
A fast introduction to PySpark with a quick look at Arrow based UDFs
 
Standardizing on a single N-dimensional array API for Python
Standardizing on a single N-dimensional array API for PythonStandardizing on a single N-dimensional array API for Python
Standardizing on a single N-dimensional array API for Python
 
Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In Python
 
Rpg Pointers And User Space
Rpg Pointers And User SpaceRpg Pointers And User Space
Rpg Pointers And User Space
 
All I know about rsc.io/c2go
All I know about rsc.io/c2goAll I know about rsc.io/c2go
All I know about rsc.io/c2go
 
Reproducible Computational Research in R
Reproducible Computational Research in RReproducible Computational Research in R
Reproducible Computational Research in R
 
Go. Why it goes
Go. Why it goesGo. Why it goes
Go. Why it goes
 
Pipfile, pipenv, pip… what?!
Pipfile, pipenv, pip… what?!Pipfile, pipenv, pip… what?!
Pipfile, pipenv, pip… what?!
 
Introduction to D programming language at Weka.IO
Introduction to D programming language at Weka.IOIntroduction to D programming language at Weka.IO
Introduction to D programming language at Weka.IO
 
C to perl binding
C to perl bindingC to perl binding
C to perl binding
 
190111 tf2 preview_jwkang_pub
190111 tf2 preview_jwkang_pub190111 tf2 preview_jwkang_pub
190111 tf2 preview_jwkang_pub
 

Kürzlich hochgeladen

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 

Kürzlich hochgeladen (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 

How to train your python: iterables (FR)

  • 1. Jordi Riera ● Software developer @ Rodeo FX ● Founder @ cgstudiomap.org ● 8 ans à écrire du python ● kender.jr@gmail.com ● @jordiriera_cg ● https://www.linkedin.com/in/jordirieracg/ ● https://github.com/foutoucour/
  • 2. How To Train Your Python Les bases sur les iterables
  • 3. Iterables + de 10 types d’iterables
  • 4. liste, et pas que ● List & deque ● Tuple & namedtuple ● String ● Set & frozenset ● Dict, Ordereddict, ChainMap, Counter & defaultdict ● Generators ● Range, zip, map, file object, et autres.
  • 6. Lequel choisir? ● List, deque, tuple, string, generators, Ordereddict: ordonnés ● Tuple, frozenset: immuables (well... kind of... :( ) ● Set & frozenset: caractère unique ● Dict, Ordereddict, ChainMap, Counter & defaultdict: mapping ● String: ... ben... string quoi... ● Generators, range, zip, map, etc: optimisation, consommation
  • 7. for loop languages = [‘php’, ‘ruby’, ‘python’] frameworks = [‘symfony’, ‘ruby on rails’, ‘django’] for i in range(len(languages)): print(languages[i] + ‘: ’ + frameworks[i])
  • 8. for loop languages = [‘php’, ‘ruby’, ‘python’] frameworks = [‘symfony’, ‘ruby on rails’, ‘django’] for i, language in enumerate(languages): print(‘: ’.join([language, frameworks[i]])) for language, framework in zip(languages, frameworks): print(‘: ’.join([language, framework]))
  • 9. Set random_numbers = [ 3, 4, 4, 1, 2, 3, 1] set(random_numbers) >>> {1, 2, 3, 4} frozenset(random_numbers) >>> frozenset({1, 2, 3, 4})
  • 10. Set Sets acceptent les opérations mathématiques: ● Union ● Intersection ● Difference ● Et d’autres opérations plus chelou, mais ça fait de jolies figures
  • 11. dict, feel the powa!
  • 12. mapping = dict() # ou {} for language, framework in zip(languages, frameworks): if not language in languages: mapping[language] = [] mapping[language].append(framework) dict
  • 13. mapping = defaultdict(list) for language, framework in zip(languages, frameworks): mapping[language].append(framework) mapping = {} for l, framework in zip(languages, frameworks): mapping.setdefault(l, []).append(framework) dict
  • 14. dict mapping = {‘php’:[‘symfony’], ‘ruby’:[’ruby on rails’], ‘python’:[’django’]} for language in mapping: print(language) for language, frameworks in mapping.items(): print(language, frameworks)
  • 15. dict mapping = {‘php’:[‘symfony’], ‘ruby’:[’ruby on rails’], ‘python’:[’django’]} print(mapping[‘python’]) del mapping[‘python’] print(mapping.get(‘python’, ‘flask’)) Mapping[‘python’] = ‘pyramid’
  • 16. muabilité # Les listes sont muables. Elles peuvent être mis à jour: list1 = [1,] list1.append(2) list1 == [1, 2] Et d’autres méthodes... list2 = [1,] list2.insert(0, 2) list2 == [2, 1]
  • 17. muabilité # Cool mais... list2 = list1 list1.append(3) list2 == [1, 2, 3] # list2 “pointe” vers list1. # list1 et list2 sont la même liste en fait...
  • 18. muabilité # Solution list2 = list1[:] # list2 est une liste avec tous les éléments de list1 # you’re welcome ;)
  • 19. # Les tuples sont immuables, # ils ne peuvent pas être mis à jour: tuple1 = (1,) tuple1.append(2) Raise AttributeError immuabilité
  • 20. # enfin... list1 = [1,] tuple1 = (1, list1) list1.append(2) tuple1 == (1, [1, 2]) # pas cool bro! immuabilité
  • 21. Compréhension à la portée de tous! list1 = [x for x in z if not x == ‘foo’] gen = (x for x in z if not x == ‘foo’) # Nope c’est pas un tuple! Mais un générateur. set1 = {x for x in z if not x == ‘foo’} dic1 = {x: x.bar for x in z if not x == ‘foo’}
  • 22. Questions? ● kender.jr@gmail.com ● @jordiriera_cg ● https://www.linkedin.com/in/jordirieracg/ ● https://github.com/foutoucour/

Hinweis der Redaktion

  1. For est un for each! Zip remplace izip de py2. zip de py2 est mort
  2. For est un for each! Zip remplace izip de py2. zip de py2 est mort
  3. For est un for each! Zip remplace izip de py2. zip de py2 est mort
  4. For est un for each! Zip remplace izip de py2. zip de py2 est mort