With changelists you can group uncommitted changes to separate parts of your work and commit those parts independenlty.
Changelists in PyCharm is a feature of its integrated VCS client and it has different implementations for different VCSs. For example if you use Git, changelists is a client feature that extends Git functionality, but if you use SVN, the implementation is integrated with the native SVN changelists.
Changelists are displayed in the Local Changes tab of the Version Control window Alt+9. Initially, there is a single Default Changelist. It is displayed in bold to show its active status, which means that all new changes are placed in this changelist. There is also a special Unversioned Files changelist that groups newly created files.
Create a new changelist
Set the active changelist
Move changes between changelists
Select the changes that you want to move to another changelist.
Right-click the selection or click on the toolbar and choose Move to Another Changelist Shift+Alt+M.
In the dialog that opens, select an existing changelist or enter the name for a new changelist.
You can choose to make the target changelist active and to track context for it (PyCharm will save the context associated with this changelist, and will restore it when this changelist becomes active).
Put changes in a single file into different changelists
When you make a change to a file in the editor, click the corresponding change marker in the gutter.
In the toolbar that appears, select the target changelist for the modified code chunk (or create a new changelist):