Python Forum
List of pathlib.Paths Not Ordered As Same List of Same String Filenames
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
List of pathlib.Paths Not Ordered As Same List of Same String Filenames
#20
Please look into the source code. Github makes it very easy for us.

The bult-in function sorted calls __lt__ (means less then) of an object.
So we should look into the pathlib module and seek for __lt__

It's hard to follow the code, because there is heavy inheritance and some other patterns.
You should know that pathobject._cparts returns a list spitted by it's parts. A path separator is also a part, if it's the root directory (absolute path).

Comparing lists in Python does not do what you think it should do. It compares in lexicographical order. I got this answer from here.

Comparing the paths as str:
'/spam/spams.txt' < '/spam/spams/spam04.doc'
Output:
True
Comparing the _cparts:
['/', 'spam', 'spams.txt'] < ['/', 'spam', 'spams', 'spam04.doc']
Output:
False
Index 0 and 1 are identical. Index 3 is bigger than index 3 from the other list. Then there are no more elements in the first list for comparison and the operation stops and yields the last result, which is False.
'spams.txt' < 'spam04.doc'
In simple words: Paths are sorted in alphabetical order by their elements.
Almost dead, but too lazy to die: https://sourceserver.info
All humans together. We don't need politicians!
Reply


Messages In This Thread
RE: List of pathlib.Paths Not Ordered As Same List of Same String Filenames - by DeaD_EyE - Nov-15-2017, 10:13 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Strange behavior list of list mmhmjanssen 3 523 May-09-2024, 11:32 AM
Last Post: mmhmjanssen
  Next/Prev file without loading all filenames WilliamKappler 9 956 Apr-12-2024, 05:13 AM
Last Post: Pedroski55
  Sample random, unique string pairs from a list without repetitions walterwhite 1 601 Nov-19-2023, 10:07 PM
Last Post: deanhystad
  trouble reading string/module from excel as a list popular_dog 0 509 Oct-04-2023, 01:07 PM
Last Post: popular_dog
  No matter what I do I get back "List indices must be integers or slices, not list" Radical 4 1,433 Sep-24-2023, 05:03 AM
Last Post: deanhystad
  String to List question help James_Thomas 6 1,196 Sep-06-2023, 02:32 PM
Last Post: deanhystad
  Delete strings from a list to create a new only number list Dvdscot 8 1,825 May-01-2023, 09:06 PM
Last Post: deanhystad
  List all possibilities of a nested-list by flattened lists sparkt 1 1,047 Feb-23-2023, 02:21 PM
Last Post: sparkt
  convert string to float in list jacklee26 6 2,175 Feb-13-2023, 01:14 AM
Last Post: jacklee26
  Checking if a string contains all or any elements of a list k1llcod3 1 1,310 Jan-29-2023, 04:34 AM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020