|
Assigning objects
|
newbie
variables
|
|
Basic data types
|
newbie
data types
|
|
Basic printing
|
newbie
print
|
|
Printing objects
|
newbie
print
|
|
Basic maths
|
math
newbie
|
|
Additional maths
|
math
newbie
|
|
User input
|
input
newbie
|
|
String manipulation
|
string manipulation
newbie
|
|
Lists
|
newbie
list
|
|
Returning items by list index
|
newbie
list
|
|
Adding and removing items from a list
|
newbie
list
|
|
Dicts
|
newbie
list
dict
|
|
Dict data retrieval methods
|
newbie
|
|
Functions
|
newbie
functions
|
|
Functions part ii
|
newbie
functions
|
|
Equals operator
|
equality
newbie
|
|
If / else
|
newbie
if/else
|
|
Truthiness
|
truthiness
newbie
|
|
Less than and greater than
|
comparison
newbie
|
|
While loop
|
while
newbie
|
|
Comments
|
newbie
comments
|
|
For loops
|
looping
newbie
|
|
Looping through a dict
|
newbie
dict
|
|
Tuples
|
tuples
newbie
|
|
Calling a function
|
newbie
functions
|
|
Reading errors
|
error handling
debugging
syntax errors
newbie
|
|
Failing tests
|
debugging
testing
pytest
newbie
|
|
Type hints
|
type hints
newbie
|
|
Default arguments
|
arguments
newbie
functions
|
|
Special chars
|
strings
special characters
newline
tab
newbie
|
|
Word count
|
strings
methods
newbie
|
|
Dict retrieval - part 2
|
dictionaries
newbie
|
|
Dict retrieval - part 3
|
dictionaries
newbie
|
|
Random module
|
imports
random
newbie
modules
|
|
Working with dates
|
imports
datetime
newbie
modules
|
|
Working with dates - part 2
|
imports
newbie
modules
|
|
Make a class
|
newbie
classes
|
|
Class with str
|
newbie
dunder methods
classes
|
|
Make a dataclass
|
dataclasses
newbie
classes
|
|
Scope
|
newbie
scope
|
|
String manipulations
|
strings
string manipulation
split
lowercase
lists
newbie
slicing
|
|
List comprehension
|
list comprehensions
newbie
numbers
integer
isdigit
|
|
Named tuple
|
namedtuples
newbie
collections
|
|
Constants
|
math
newbie
constants
|
|
Exceptions
|
exceptions
error handling
newbie
functions
|
|
For loop with break and continue
|
loops
control flow
break
continue
newbie
|
|
In operator
|
in operator
lists
newbie
collections
|
|
String module
|
string module
string manipulation
newbie
list comprehensions
|
|
Formatting intro
|
strings
newbie
string interpolation
|
|
Read the docs
|
documentation
reading docs
collections
newbie
|
|
F-strings and a simple if/else
|
f-strings
if/else
|
|
Infinite loop, input, continue and break
|
while
break
continue
input
mock.patch
|
|
Loop through a dictionary and pluralise a word
|
looping
dict
|
|
Split and join
|
split
join
|
|
Slice and dice
|
string module
split
replace
slicing
|
|
Strip out vowels and count the number of replacements
|
regular expressions
string manipulation
replace
counting
Zen of Python
|
|
Filter numbers with a list comprehension
|
modulo
list comprehensions
|
|
Loop over a dict of namedtuples calculating a total score
|
counting
dict
namedtuple
|
|
Workout dictionary lookups
|
exception handling
string manipulation
dict
format
ternary
|
|
Type conversion and exception handling
|
exception handling
raise
type casting
|
|
Sum n numbers
|
sum
None
default args
range
|
|
Parse a list of names
|
lambda
min
list comprehensions
sorting
|
|
Rotate string characters
|
slicing
deque
|
|
Enumerate 2 sequences
|
enumerate
string formatting
|
|
Pybites date generator
|
generators
datetime
|
|
Write a property
|
datetime
properties
|
|
Query a nested data structure
|
data structures
sorting
dictionary comprehensions
list comprehensions
|
|
Dictionary comprehensions are awesome
|
dictionary comprehensions
|
|
Don't let mutability fool you
|
mutability
deepcopy
|
|
Rewrite a for loop using recursion
|
reverse
recursion
|
|
Using elementtree to parse xml
|
movie data
xml
|
|
Force keyword arguments
|
function arguments
kwargs
|
|
License key generator
|
secrets
string module
list comprehensions
|
|
Keep a queue of last n items
|
deque
|
|
You are a programmer! code fizz buzz
|
fizzbuzz
|
|
Nicer formatting of a poem or text
|
string manipulation
textwrap
|
|
Get the latest game releases from steam's rss feed
|
feedparser
namedtuple
|
|
Add a command line interface to our bmi calculator
|
argparse
|
|
Fix a truncating zip function
|
itertools
zip
|
|
Calculate the running average of a sequence
|
enumerate
itertools
mean
|
|
Working with datetimes
|
datetime
timedelta
|
|
Remove punctuation characters from a string
|
string module
string manipulation
|
|
What day of the week were you born on?
|
calendar
|
|
New places to travel to
|
set
set operations
|
|
Check equality of two lists
|
equality
list
enum
|
|
At what time does pybites live?
|
timezones
pytz
|
|
Matching multiple strings
|
string matching
all
any
|
|
Build unix' wc program in python
|
file processing
Unix
tempfile
|
|
Display the last part of a file (unix tail)
|
file processing
strip
Unix
slicing
|
|
Count leading spaces
|
string matching
counting
|
|
Round a number even (a.k.a. banker's rounding)
|
Decimal
rounding
|
|
Work with datetime's strptime and strftime
|
datetime
strptime
strftime
|
|
Analyze some basic car data
|
data analysis
set
Counter
list comprehensions
|
|
Convert an amazon url into an affiliation link
|
string manipulation
regular expressions
|
|
Look up a value in 3 dictionaries
|
collections
dict
|
|
Sorting words with constraint
|
lambda
string manipulation
sorting
|
|
Round a sequence of numbers
|
math
rounding
list comprehensions
|
|
Count the number of files and directories
|
counting
directories
files
os module
|
|
Parse an /etc/passwd file output
|
string manipulation
split
tuple unpacking
|
|
Complete a user class: properties and representation dunder methods
|
properties
classes
__repr__
string manipulation
dunder methods
f-strings
__str__
|
|
Having fun with python partials
|
rounding
partial
functools
|
|
Create a variable length chessboard
|
modulo
stdout
range
|
|
Group names by country
|
groupby
collections
defaultdict
|
|
Keep a list sorted upon insert
|
bisect
data structures
classes
__str__
|
|
Get statistics from pybites test code
|
file processing
data analysis
statistics
|
|
Filter a list of names
|
generators
break
continue
looping
|
|
Find the number pairs summing up n
|
looping
itertools
numbers
|
|
Write a sphinx docstring
|
docstring
data types
sphinx
|
|
Add type hints to a function
|
typing
type hinting
annotations
|
|
A countdown generator
|
generators
|
|
Validate a license key
|
bool
regular expressions
|
|
Create a sandwich decorator
|
decorators
|
|
Swap case pybites characters
|
string manipulation
looping
string parsing
|
|
Where are the emojis?
|
regular expressions
looping
emojis
list comprehensions
list
|
|
Write tests for fibonacci
|
fibonacci
pytest
|
|
Test print / standard output
|
stdout
list comprehensions
capfd
capsys
pytest
|
|
Global vs local variables
|
sum
global
|
|
Extract users dict from a multiline string
|
string parsing
dict
|
|
Print names to columns
|
modulo
f-strings
print
|
|
Pickling objects
|
data wrangling
pickle
serialization
|
|
Decode base64 encoded data
|
base64
encode
decode
|
|
Reading progress
|
datetime
numbers
|
|
Fastapi hello world
|
FastAPI
|
|
A little detour: pydantic
|
Pydantic
FastAPI
|
|
Which words can you type with one hand?
|
comparison
set
enum
|
|
Word values
|
sum
Scrabble
max
|
|
Top 10 pybites tags
|
xml
Counter
|
|
Pybites die hard
|
generators
file processing
Counter
namedtuple
|
|
Parsing dates from logs
|
file processing
datetime
|
|
Palindromes
|
reverse
list comprehensions
algorithms
max
|
|
Practice exceptions
|
exception handling
raise
|
|
Write a user validation function
|
exception handling
classes
namedtuple
|
|
Convert dict to namedtuple/json
|
json
dict
namedtuple
|
|
Generate a table of n sequences
|
generators
zip
|
|
Form teams from a group of friends
|
itertools
|
|
Find the most common word
|
data analysis
Counter
list comprehensions
|
|
Write a decorator with argument
|
decorators
|
|
No promo twice, keep state in a class
|
exception handling
properties
classes
|
|
Parse omdb movie json data
|
movie data
json
APIs
glob
|
|
Converting date strings to datetimes
|
datetime
findall
Counter
|
|
Movie data analysis
|
data analysis
mean
defaultdict
movie data
sorting
namedtuple
|
|
Transpose a data structure
|
zip
dict
|
|
Having fun with heapq
|
datetime
heapq
|
|
Having fun with *args and **kwargs
|
args
function arguments
kwargs
|
|
Calculate the total duration of a course
|
datetime
numbers
findall
timedelta
|
|
Write a login_required decorator
|
decorators
functools
|
|
Write a new password field validator
|
string module
re
|
|
Make a bar chart of new safari books
|
data analysis
bar chart
|
|
Scrape packt's html with beautifulsoup
|
beautifulsoup
requests
namedtuple
|
|
When does python 2 die on planet miller?
|
datetime
|
|
Create a simple calculator that receives command line arguments
|
reduce
argparse
functools
|
|
Create a multiplication table class of variable length
|
exception handling
numbers
dunder methods
classes
|
|
Create a deck of uno cards
|
namedtuple
list
list comprehensions
|
|
Data structures matter - speed up your python code
|
performance
data structures
|
|
Get all valid dictionary words for a draw of letters
|
itertools
set
Scrabble
|
|
Create your own iterator
|
iterators
random
|
|
Keep state in a class + make its instance callable
|
dunder methods
classes
|
|
Retrieve the right ninja belt based on score
|
OrderedDict
itertools
|
|
Organize a meeting between timezones (pytz)
|
timezones
pytz
|
|
Find programmers with common languages
|
set
set operations
|
|
Parse a csv file and create a bar chart
|
bar chart
requests
csv
community
|
|
Filter and order tweets by polarity values
|
TextBlob
Twitter
namedtuple
|
|
Define a score enum and customize it adding methods
|
classmethod
enum
__str__
|
|
Flatten lists recursively (droste bite)
|
recursion
list
|
|
Create a rgb-to-hex converter
|
string formatting
|
|
Playing with lists and dicts
|
data structures
list
dict
|
|
What south park characters talk most?
|
data analysis
Counter
requests
csv
defaultdict
|
|
Humanize a datetime
|
datetime
namedtuple
|
|
Subclass the dict built-in
|
classes
inheritance
|
|
Beautifulsoup ii - scrape us holidays
|
beautifulsoup
dict
defaultdict
|
|
Write an infinite sequence generator
|
generators
itertools
string module
zip
|
|
Use the ipinfo api to lookup ip country
|
mock.patch
json
requests
APIs
|
|
Filter words with non-ascii characters
|
ascii
all
ord
unicode
|
|
List and filter files in a directory
|
generators
glob
os module
|
|
List exercise: return first occurrence indices of duplicated words
|
counting
set
list comprehensions
|
|
Xmas tree generator
|
range
string formatting
default args
join
|
|
Write a numbers validation decorator
|
decorators
|
|
Check if two words are anagrams
|
string matching
anagram
|
|
Find the user with most friends
|
sorting
looping
tuples
defaultdict
|
|
Get the most recommended books
|
default args
beautifulsoup
Counter
list comprehensions
requests
|
|
Return the right ordinal suffix for a number
|
modulo
numbers
string manipulation
dict
|
|
Analyze stock data
|
counting
data analysis
string manipulation
requests
json
sorting
|
|
Find the word with the most vowels
|
lambda
string matching
counting
list comprehensions
|
|
Sort a list of book objects
|
lambda
operator
datetime
attrgetter
list
sorting
namedtuple
|
|
Oop fun at the zoo
|
classmethod
itertools
classes
__str__
|
|
Pybites first pandas bite
|
data analysis
csv
pandas
|
|
Exception handling: calculate the winning player
|
exception handling
numbers
namedtuple
|
|
Calculate the number of months passed
|
datetime
exception handling
dateutil
|
|
Rhombus generator
|
string formatting
format
f-strings
|
|
100 weekdays of code date range
|
datetime
dateutil
|
|
Print car data grouped by manufacturer
|
operator
data structures
itertools
sorting
|
|
Turn messy csv into json
|
re
string manipulation
csv
pandas
json
|
|
Write your own data class
|
data structures
type hinting
dataclasses
hashable
sorting
|
|
Split a string by spaces or quoted text
|
string manipulation
split
|
|
Make an index of story characters
|
enumerate
string matching
collections
defaultdict
sorting
|
|
Filter out accented characters
|
string matching
unicode
|
|
Create a simple calculator
|
operator
exception handling
numbers
|
|
Vertically align output of counters
|
string formatting
|
|
Which packages were upgraded?
|
comparison
numbers
string manipulation
dict
|
|
Complete a tox ini file parser class
|
configparser
tox
properties
classes
string parsing
string matching
|
|
Set up future notifications
|
datetime
timedelta
findall
f-strings
|
|
Find missing dates
|
datetime
pandas
dateutil
|
|
Parse pybites blog git commit log
|
string parsing
data analysis
Counter
datetime
dateutil
|
|
Parse a bunch of quotes from html
|
string manipulation
regular expressions
string parsing
dict
|
|
Analyze some bite stats data
|
data analysis
set
csv
Counter
|
|
Create a simple spelling suggester
|
SequenceMatcher
string matching
difflib
|
|
Calculate number of books to have read at date ...
|
datetime
exception handling
dateutil
|
|
Actor/actress age at movie release
|
dataclasses
f-strings
dateutil
|
|
Parse income distribution from latin america xml
|
xml
data analysis
defaultdict
|
|
Starwars character with highest bmi
|
operator
string manipulation
tuple unpacking
max
|
|
Most upvoted stackoverflow python questions
|
beautifulsoup
string matching
web scraping
requests
sorting
|
|
Add caching to a fibonacci function
|
performance
fibonacci
cache
functools
|
|
Analyze nba data with sqlite3
|
databases
data analysis
SQL
sqlite3
|
|
What date is mother's day celebrated?
|
datetime
dateutil
|
|
Multiple inheritance (__mro__)
|
multiple inheritance
__mro__
classes
inheritance
|
|
Analyze some bite stats data - part ii
|
data analysis
sorting
csv
|
|
Female speakers @ pycon us
|
beautifulsoup
counting
gender_guesser
data wrangling
|
|
Suppressing exceptions
|
context managers
exception handling
|
|
Capture stdout
|
context managers
StringIO
|
|
Bite notification planner
|
generators
datetime
|
|
Parse best selling lists using the ny times api
|
json
mock
requests
APIs
|
|
Split an iterable in groups of size n
|
generators
iterators
itertools
looping
|
|
Unix file permissions
|
string manipulation
dict
list comprehensions
|
|
Get top titles from news.python.sc
|
string parsing
beautifulsoup
news
web scraping
requests
sorting
namedtuple
|
|
Convert warcraft json data to csv
|
json
exception handling
csv
|
|
Create a gravatar url
|
string formatting
hashlib
gravatar
|
|
Thumbs up for operator overloading
|
exception handling
classes
emojis
dunder methods
operator overloading
|
|
Analyze gold prices
|
comparison
string parsing
data analysis
looping
pandas
sorting
|
|
Make a zipfile of the latest log files
|
pathlib
datetime
zipfile
os module
|
|
Capitalize sentences
|
string matching
string manipulation
regular expressions
string parsing
|
|
Which bite has the fastest tests?
|
sorting
string parsing
type casting
|
|
User experience matters! suggest matching files
|
pathlib
files
difflib
|
|
Test fizzbuzz
|
fizzbuzz
pytest
|
|
Make mutpy's output more digestible
|
data wrangling
string parsing
looping
string matching
mutpy
|
|
Mocking a standard library function
|
pytest
random
mock.patch
|
|
Get all class names from a module
|
inspect
list comprehensions
|
|
Get the most common email domains
|
string parsing
Counter
web scraping
set
requests
|
|
Find the fastest speech
|
string manipulation
datetime
sorting
|
|
Scoring objects
|
typing
builtins
keyword
importlib
|
|
Alternative constructors
|
classmethod
classes
|
|
More logging practice
|
logging
exception handling
|
|
To rent or to stream movies?
|
typing
datetime
collections
dict
|
|
Sortable dataclasses and enums
|
dataclasses
sorting
dunder methods
enum
|
|
Create food objects
|
FastAPI
|
|
Retrieve food objects
|
FastAPI
|
|
Update and delete food objects
|
FastAPI
|
|
Pydantic part ii
|
Pydantic
FastAPI
|
|
Food logging crud
|
FastAPI
|
|
Fastapi exception handling
|
FastAPI
|
|
Return an html response
|
FastAPI
|
|
Writing better spanish
|
ascii
unicode
dict
unicodedata
|
|
Get spelling suggestions
|
typing
TextBlob
comparison
tuple unpacking
namedtuple
|
|
Regex fun
|
re
findall
regular expressions
|
|
Enrich a class with dunder methods
|
dunder methods
properties
functools
|
|
Write a context manager
|
operator overloading
context managers
dunder methods
with statement
|
|
Find words that are > 95% similar
|
file processing
findall
difflib
SequenceMatcher
itertools
|
|
Abc's and class inheritance
|
abstractmethod
ABCs
classes
inheritance
|
|
Building a karma app - implement the user class
|
properties
classes
dunder methods
operator overloading
namedtuple
|
|
Number guessing game class
|
random
games
classes
|
|
Make a little pybites search engine (feedparser)
|
list comprehensions
feedparser
any
search
namedtuple
|
|
Convert text into multiple columns
|
string manipulation
|
|
Using argparse to interface with a grocery cart
|
argparse
|
|
Create a variable size paw patrol card deck with random actions
|
itertools
random
string module
namedtuple
|
|
Use an infinite iterator to simulate a traffic light
|
iterators
itertools
namedtuple
|
|
Regex fun - part ii
|
re
regular expressions
|
|
Parse unix cal to a weekday mapping
|
re
Unix
zip
|
|
The singledispatch countdown challenge
|
singledispatch
decorators
functools
|
|
Write a score property
|
properties
classes
|
|
Write a performance monitoring context manager
|
context managers
Counter
|
|
Rock-paper-scissors and generator's send
|
random
games
coroutines
|
|
Parse pycon talk data from youtube
|
list comprehensions
namedtuple
max
|
|
Social media username validator
|
typing
re
regular expressions
string manipulation
range
string matching
namedtuple
|
|
Determine the strength of a password
|
string matching
re
|
|
Marvel data analysis
|
sum
rounding
data analysis
Counter
list comprehensions
csv
|
|
The emoji (unicode) bite
|
unicode
emojis
sys
|
|
Calculate a coding streak in days
|
datetime
string manipulation
timedelta
|
|
Manipulate string decorator
|
kwargs
string manipulation
decorators
list
|
|
Subclass the list built-in
|
exception handling
properties
dunder methods
mean
inheritance
operator overloading
list
statistics
median
|
|
15-way rock paper scissors
|
exception handling
games
csv
dict
|
|
Cli tool: html link converter (stdin to stdout)
|
data wrangling
exception handling
html
stdin
string formatting
string manipulation
sys
|
|
Analyze mcdonald's food data
|
data analysis
pandas
|
|
Make a terminal spinner animation
|
stdout
itertools
command line
time
sys
|
|
Use pandas to find most common genres in a movie excel sheet
|
data cleaning
excel
groupby
pandas
movie data
|
|
Strip comments from python code
|
regular expressions
string parsing
comments
|
|
Analyze sales data with pandas
|
data analysis
pandas
groupby
|
|
Create a js-like dict object
|
javascript
classes
dict
inheritance
|
|
Calculate my mac's longest uptime
|
data wrangling
datetime
string parsing
dateutil
|
|
Write a retry decorator
|
exception handling
decorators
|
|
Code a translation fixer
|
regular expressions
|
|
Parse an email header
|
regular expressions
|
|
Analysing @pythonbytes rss feed
|
regular expressions
classes
max
min
Counter
string matching
feedparser
type hinting
namedtuple
|
|
Get sentences from a text
|
data wrangling
string manipulation
regular expressions
|
|
Get the dates ninja belts were earned
|
looping
datetime
pandas
json
sorting
|
|
Write tests for an account class
|
pytest
classes
|
|
Zodiacal data parsing
|
datetime
pytest
fixtures
|
|
Test a number guessing game
|
exception handling
classes
games
mock.patch
pytest
|
|
Test a movie db class
|
classes
fixtures
SQL
sqlite3
movie data
pytest
|
|
Get father's days by date and country
|
string manipulation
string parsing
dateutil
|
|
Convert dict keys to snake case
|
string manipulation
recursion
algorithms
|
|
Fastapi authentication with jwt (json web tokens)
|
FastAPI
|