There’s a few possible issues here so I’ve listed them out; apologies if not all of them fit but worth checking them to see if they match what you expect.
I think you might be confusing the operation of some of these methods as things like
.sort() work in-place and modify the existing list, they don’t have a valid return so your print just shows the
None object. Other methods create new objects and do have valid returns such as the
.join() method you used.
The second thing that might be tripping you up here is what
.sort() does. It only sorts the elements of a list, if your list has a single element then there will be no change to the list; it also sorts by the ascii value of the characters not by the order of items in the
A third issue might might unfortunately stem from a confusion about what
.split() does since it will not separate a single word into multiple characters like this.
Edit: Thought I should the add that the sort is really unicode based rather than just ascii, here’s a nice intro to how sorting a list of strings works if you wanted some details: https://realpython.com/python-sort/#when-youre-sorting-strings-case-matters