def get_all_bands(grouped_data): all_bands = [] for frequency_range, sweeps in grouped_data[4].iteritems(): resolution = float(frequency_range[1] - frequency_range[0]) / len(sweeps[0]['data']) current_band = Band(frequency_range[0], frequency_range[1], resolution) for sweep in sweeps: start_time = None stop_time = None measurements = list(sweep['data']) current_band.add_scan(start_time, stop_time, measurements) all_bands.append(current_band) return all_bands