https://www.py4e.com/lessons/tuples
https://runestone.academy/ns/books/published/py4e-int/tuples/toctree.html
https://www.keithdillon.com/index.php/python-for-data-science-spring-2026/
GitHub Classroom: https://classroom.github.com/classrooms/250035910-keithops-bds754-s26
Google CoLab: https://colab.research.google.com/notebooks/welcome.ipynb
https://docs.python.org/3/tutorial/datastructures.html
mylist = list() # or []
mylist = [1,2,3,4]
myset = set() # or {}
myset = {1,2,3,4}
mystr = str() # or ''
mystr = '1234'
mydict = dict() # or {} note similar to set
mydict = {1:'A', 2:'B', 3:11, 'hello':there}
mytuple = tuple() or () # notice can't add anything
mytuple = (1,2,3,4)
Math-style iteration through an 'iterable' (list, tuple, or on-the-fly generation)
$L = \{i : i \in S\}$ --> literally {i for i in S} in python
S = {1,2,3}
L=(i for i in S)
print(L)
for i in L:
print(i)
<generator object <genexpr> at 0x00000256545906D0> 1 2 3
mydict = {'X':'hello', 'Y':'goodbye'}
[key for key in mydict]
['X', 'Y']
mydict = {'X':'hello', 'Y':'goodbye'}
dict((mydict[key], key) for key in mydict)
{'hello': 'X', 'goodbye': 'Y'}