Tom Tucker wrote:
> Good morning!  Does Python have a sort function thats supports a delimiter?  
> For example, I want to sort the below hostnames, based on the city.   

This is easy to do in Python but you have to break it up into a few steps - 
Python's sort doesn't 
know how to find fields but you can break the text into fields yourself, then 
sort on the desired 
field. Here is one way:

import operator

hostnames = '''sys01-xxx-austin-tx
sys02-xxx-austin-tx
sys01-xxx-newark-oh
sys01-yyy-newark-oh
sys01-yyy-austin-tx
sys01-zzz-newark-oh
sys02-zzz-newark-oh'''.split()

# Create a list of field lists by splitting on the first two '-'
fieldData = [ line.split('-', 2) for line in hostnames ]

# The key parameter must be a function that returns the key
# value from a list item.
# operator.itemgetter creates a function that accesses the desired index
fieldData.sort(key=operator.itemgetter(2))

# Put the fields back together and print
for line in fieldData:
     print '-'.join(line)


Kent

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to