Featured post

new redirect for blender.org bpy docs.

http://www.blender.org/api/blender_python_api_current/ As of 10/11 november 2015 we can now link to the current api docs and not be worr...

Showing posts with label natural. Show all posts
Showing posts with label natural. Show all posts

May 27, 2011

python 3.2 semi natural sorting


import re

pose_list = "Pose1", "Pose10", "Pose11", "Pose2", "Pose3", "Pose4"
pattern = '\d+' # one or more numerical characters

# this function assumes list consistency.
def MyFn(pose):
match = re.search(pattern, pose)
return int(match.group())

# this returns a sorted list given the presence of a numerical sequence in the string
print(sorted(pose_list, key=MyFn))

# sorted() now returns ['Pose1', 'Pose2', 'Pose3', 'Pose4', 'Pose10', 'Pose11']

(unfortunately) i think blender will automatically resort that list alphabetically it is advised to add padding zeroes.