I have been using Enthought Canopy for Python up until now. I really like that I can run a .py file, and play around with it in the Python Pane (e.g. make a class, and then play around in the Python Pane, trying to learn how it works, and how I can interact with it).
However, recently, I have fallen in love with pyCharm, specifically the autocomplete functions that Canopy lacks - and also the looks of it. However, when I run my program, there is no similar way of playing around with it afterwards.
Instead of running the file in PyCharm, debug it and set a breakpoint somewhere after your data structures are created. Then you can play in the console of the debugger just like you would in Canopy, and you can examine your variables in the variable window. Actually this is better than Canopy's editor in my opinion since you can also step through the code and see how it is changing your data and structures.
In PyCharm, so you don't have to make a project, use Control-Shift-R which builds a configuration for that file and runs it.
You are correct, once the process terminates, the variables are gone. You may also look at the Spyder IDE, as it works somewhat like the Canopy editor in this respect. But personally I love the PyCharm IDE best.