The console and editor use different completion mechanisms. In the console, Pythonista looks at the live objects using something like dir and gets the name lists that way. In the editor, it uses the jedi library to analyze your (and the standard library) Python code and generates name lists based on that.

PS:

It doesn't seem to like generators in general. Sometimes even this crashes (but sometimes it doesn't):