Some small example on creating a unique list of values in a field:
# create a unique list of the values in a field in a table or featureclass
import arcpy
FC_or_TBL = r"D:\Xander\Genesis\Tablas LayerRef\bk_DLLO_931.gdb\AG_LAYERREF"
fld_name1 = "COLUMNA"
unique_list = list(set(r[0] for r in arcpy.da.SearchCursor(FC_or_TBL, (fld_name1))))
unique_list.sort()
print "\n".join(unique_list)
print "\n#####\n"
On line 5 a list is created using list comprehensions, which is converted to a set (unique values) and parsed back to a list
# using a combination of 2 columns
import arcpy
FC_or_TBL = r"D:\Xander\Genesis\Tablas LayerRef\bk_DLLO_931.gdb\AG_LAYERREF"
fld_name1 = "COLUMNA"
fld_name2 = "ID_LAYERREF"
unique_list = list(set("{0},{1}".format(r[0], r[1]) for r in arcpy.da.SearchCursor(FC_or_TBL, (fld_name1, fld_name2))))
print "\n".join(unique_list)
print "\n#####\n"
On line 6 the list is created from the combination of 2 fields
# including a where clause
import arcpy
FC_or_TBL = r"D:\Xander\Genesis\Tablas LayerRef\bk_DLLO_931.gdb\AG_LAYERREF"
fld_name1 = "COLUMNA"
fld_name2 = "ID_LAYERREF"
fld_search = "COLUMNA"
search_value = "OBJECTID"
where = "{0} = '{1}'".format(arcpy.AddFieldDelimiters(FC_or_TBL, fld_search), search_value)
unique_list = list(set("{0}_{1}".format(r[0], r[1]) for r in arcpy.da.SearchCursor(FC_or_TBL, (fld_name1, fld_name2, fld_search), where)))
print "\n".join(unique_list)
print "\n#####\n"
In this case an additional where clause is used to limited the results. As James already showed, Pandas is a powerful library. If you have it, use it. If you don't and you don't want to install it, the above might be an alternative.
Kind regards,
Xander