On 2018-05-31 15:18, Tobiah wrote:
I had a case today where I needed to sort two string:['Awards', 'Award Winners'] I consulted a few sources to get a suggestion as to what would be correct. My first idea was to throw them through a Linux command line sort: Awards Award Winners Then I did some Googling, and found that most US systems seem to prefer that one ignore spaces when alphabetizing. The sort program seemed to agree. I put the items into the database that way, but I had forgotten that my applications used python to sort them anyway. The result was different: >>> a = ['Awards', 'Award Winners'] >>> sorted(a) ['Award Winners', 'Awards'] So python evaluated the space as a lower ASCII value. Thoughts? Are there separate tools for alphabetizing rather then sorting?
You could split the string first: >>> a = ['Awards', 'Award Winners'] >>> sorted(a, key=str.split) ['Award Winners', 'Awards'] If you want it to be case-insensitive: >>> sorted(a, key=lambda s: s.lower().split()) ['Award Winners', 'Awards'] -- https://mail.python.org/mailman/listinfo/python-list
