To be a python pro you first need to be a programmer. Programmer is not a person who knows how to write a loop or a simple class. Programmer is a person who is able to program things. Come up with an interesting idea for an application and simply code it. If you want to become a pro you can't rely on step by step instructions.
Unfold your project into small pieces. Use OOP to transform these pieces into classes and methods. Code them. You know the syntax, that's all you need to know. You just need to add a very strong motivation and just don't give up. Programming is about solving problems, not about following instructions. Don't use tutorials, use documentation. The result might not be the best, but you will be able to call yourself a programmer. That's a win, right?
Machine learning, yupi, my field. I am highly interested in artificial neural networks and support vector machines. Machine learning is a really broad term. I would start from reading about applications for machine learning. I use ML mostly in IR (information retrieval) and NLU (natural language understanding). I can apply my knowledge in other fields, and you will be also, but it is easier to start with a single, specific application.
If you have an idea for the project where you want to apply machine learning, but you don't know to which category this project belongs... simply ask someone more experienced for a hint. Computer scientists are usually very eager to share their knowledge.
Extra note. I am a little biassed because I come from a mathematical background. But from my experience linear algebra and discrete math can help you a lot. I am not sure if I would be able to understand any research paper about ML without mathematical knowledge.
Now you have to find a suitable tool for your project. In some problems bayesian network is the best choice, in others, it's better to use SVM. Is there any list of all the concepts? I don't really think so, but getting through articles listed here -> https://en.wikipedia.org/wiki/List_of_machine_learning_concepts might be a good start.
To truly understood the concepts you have to read, read and read some more. It's usually good to be up to date with interesting research papers about machine learning. It's easy to find them, it's a little bit harder to read them.
And now, with all the knowledge you should be able to bring your idea to life. If you want to use Python that's ok. I usually use C and C++ for ANN's just to have a greater elasticity in optimisation. Everything depends on the specific project.
Ok, I kept this for the last paragraph. There is a easier way. You can just take a course. I heard very good things about udacity nanodegree -> https://www.udacity.com/course/machine-learning-engineer-nanodegree-by-google--nd009 and about coursera course -> https://www.coursera.org/learn/machine-learning. I would probably choose coursera because of the more academic approach.
Academic approach... but I want to code things!... ok, sure, but machine learning is still a very active field, academic approach gives you a cutting edge knowledge. And you can use it to code things, trust me.
That is why I think you should not take a course. I believe that they are really great, but... being focused on your own idea, on your own project where you want to apply machine learning will create a ton of problems for you. Is that a good thing? Yes! Failure gives you a great experience. Overcoming failure gives you a really great confidence in your knowledge. Don't follow instructions, don't follow tutorials, don't follow courses. Learn what you want, learn at your own pace, code what you want, become as good as you want to be.