Let's say you're learning Python. Yesterday, you learnt about lists. Today, you learnt about tuples. All seems to be going well. However, consider the following conversation:
Me: So, you learnt about lists and tuples.
You: Yeah, they were pretty simple to understand.
Me: What's the difference between a list and a tuple?
You: Ummm... I'm not really sure...
I'm using Python as just an example. What you're learning need not even be technical. It could be about business, medicine, designing, etc.
Do you know the difference?
What I've mentioned above is a real conversation that I had before I helped the other person figure out how to learn more effectively. This is an advice that could help you too.
Too often, we learn about concepts in isolation. You might know what a list is. And you might know what a tuple is. But you probably won't quite know how they fit into the grand picture. How they relate to each other.
To learn more effectively, try understanding the similarities and differences between the different concepts that you're learning.
Let's take the list and tuple example further
For the sake of giving an example, let's consider just one difference between a list and a tuple.
A list is mutable, while a tuple is not. This alone opens a whole lot of possibilities. This means, whenever you hash a tuple, you'd end up with the same hash, because a tuple's value cannot change. If you hash a list instead, you could get different values at different points in your program, because a list can get mutated.
This is the reason a tuple can be used as a
dict key, but a list cannot.
If the concept of hashing or hash buckets seem unfamiliar to you, then this is the right time to research about them. Having done that, you'd have a much better understanding of lists and tuples, as well as when to use them.
Using what you've learnt
The most important aspect of learning anything is being able to use it. You'll only be able to use it if you understand the concepts in relation to other concepts.
For example, you'll not be able to choose between a list or a tuple if you didn't know the difference. The same is true for a lot of different aspects of your life.