If you want to try more than 10 bins you can use the idea from one of your other examples... convert base NUM_BINS to base 10. NUM_BINS = 20 def build_state(features): val = NUM_BINS**3 * features[3] + NUM_BINS**2 * features[2] + NUM_BINS*features[1]+features[0]