Te dejo algunos recursos que me fueron útiles en algún momento cuando empezaba con Python.
Primero, para aprender la sintaxis básica, no está mal esto:
https://www.*****************.com/learn/learn-python-3. Los ejercicios son muy tontos, pero te puede ir bien para acostumbrarte a la sintaxis.
Luego, algunos MOOCs que me gustaron fueron:
https://www.coursera.org/learn/interactive-python-1https://www.coursera.org/learn/interactive-python-2Empieza asumiendo que no sabes nada así que son de nivel básico, pero están entretenidos y si no recuerdo mal se aprende bastante.
Otro MOOC un poco más avanzado que me gustó mucho es:
https://www.udacity.com/course/design-of-computer-programs--cs212Este lo da Peter Norvig que es un grande de la informática, y aprenderás cosas utilísimas como expresiones regulares, la librería itertools, etc.
Al margen de esto, algunos comentarios.
Hay un peligro de programar en Python una vez sabes programar en C que he visto alguna vez,y es que te aprendas la sintaxis básica de Python pero acabes programando en Python igual que lo harías en C. Esto hay que evitarlo a toda costa, precisamente una de las cosas buenas de Python (para mí) son las utilidades más orientadas a la programación funcional. Así que debes intentar pensar lo más posible con listas, list comprehensions, usar map, usar funciones anónimas (expresiones lambda), etc. Puede que cueste un poco la transición al principio, pero a la larga lo agradecerás. Como dices que sabes programar en R, probablemente esto no te cueste demasiado, pues en R también se trabaja mucho con listas, funciones de listas, etc.
Otra cosa a tener en cuenta es para qué quieres aprender a programar en Python. No es lo mismo programar aplicaciones que querer usarlo para analizar datos, hacer machine learning, etc. Por supuesto el núcleo básico es común, pero después difieren mucho. Para ciencia de datos hay que aprender las librerías típicas como pandas, matplotlib, scikit-learn, Keras, etc., que son un mundo en sí mismas.
En cualquier caso, a programar como más se aprende es programando y viendo código de gente que sepa más que tú. Lo mejor es tener algún proyecto que quieras hacer programando en Python e intentar espabilarte para completarlo (una vez te manejes bien con lo básico, claro). Para ello recuerda que Google y stackexchange son tus amigos: cuando no te salga algo búscalo en google y copia-pega el código que necesites (asegurándote que entiendes lo que hace y por qué funciona). También hay muchas páginas con problemas "cortos" para programar, que te pueden ir bien de práctica. Te dejo los enlaces de un par:
https://projecteuler.net/https://adventofcode.com/Espero que te sirvan los recursos.