You have been using NumPy arrays since post 17. np.array([1, 2, 3]). np.zeros((3, 4)). np.random.randn(100). You have typed these dozens of times without stopping to ask why. Why not just use a Python list?
Lists hold numbers. Lists can be looped over. Lists support indexing. What does NumPy actually add?
The answer matters more than you might think. When you understand why NumPy arrays are differ