Create List of Unique Table Values using Python for ArcGIS Analysis

NOTE: I have updated this function for 10.1 and consolidated some of the code. The sample is available in a new post, Create List of Unique Table Values using Data Access Module.

Necessity is the mother of invention and as of late, this means I have learned to use Python with ArcGIS. Early on, an issue I ran across was needing a list of all unique values in a field to be used in further analysis. Unfortunately there is not a pre-built method for this. Still, it did not take long to figure out the following function to accomplish this.

# Return list all permutations of field in input feature class or table
def getValueList (inputTable, field):

    valueList = [] # array to hold list of values collected
    valueSet = set() # set to hold values to test against to get list
    rows = arcpy.SearchCursor(inputTable) # create search cursor

    # iterate through table and collect unique values
    for row in rows:
        value = row.getValue(field)

        # add value if not already added and not current year
        if value not in valueSet:
            valueList.append(value)

        # add value to valueset for checking against in next iteration
        valueSet.add(value)

    # return value list
    valueList.sort()
    return valueList

Hopefully if you have run across this problem, you find this useful. If you know of a better method, please comment and let me know!