code: def _get_list_prefix(self, param_prefix):
          
          results = []
          param_index = 1
          while True:
              index_prefix = "{0}.{1}.".format(param_prefix, param_index)
              new_items = {}
              for key, value in self.querystring.items():
                  if key.startswith(index_prefix):
                      new_items[camelcase_to_underscores(
                          key.replace(index_prefix, ""))] = value[0]
              if not new_items:
                  break
              results.append(new_items)
              param_index += 1
          return results
docs: Given a query dict like
          {
              'Steps.member.1.Name': ['example1'],
              'Steps.member.1.ActionOnFailure': ['TERMINATE_JOB_FLOW'],
              'Steps.member.1.HadoopJarStep.Jar': ['streaming1.jar'],
              'Steps.member.2.Name': ['example2'],
              'Steps.member.2.ActionOnFailure': ['TERMINATE_JOB_FLOW'],
              'Steps.member.2.HadoopJarStep.Jar': ['streaming2.jar'],
          }
  
          returns
          [{
              'name': u'example1',
              'action_on_failure': u'TERMINATE_JOB_FLOW',
              'hadoop_jar_step._jar': u'streaming1.jar',
          }, {
              'name': u'example2',
              'action_on_failure': u'TERMINATE_JOB_FLOW',
              'hadoop_jar_step._jar': u'streaming2.jar',
          }]