У меня есть список словарей. В каждом словаре есть два ключевых значения, которые следует учитывать при сортировке. Один - "col" , а другой - "строка"
Что я хочу
Для каждой "строки" ключа я хочу получить все объекты и отсортировать их по значению "col" . И в окончательном списке должны быть все объекты "строка" мудрый и отсортированный по "столб"
Например
Для «строки» ключ со значением 1 Я хочу получить все объекты и отсортировать эти объекты в порядке возрастания значения ключа «col».
Примечание: значение col варьируется только от 1 до 12
Что я пробовал
Это своего рода псевдокод того, что я пробовал
for column_number in range(1,13):
for each object in json:
if object's "row" key is equal to column number(For each coloumn get all of its object):
add_the_objects_of_each_column_to_a_list
sort_the_list
add_the_sorted_list_to_a_new_list(this list should be similar in form as the input)
Мой фактический код
list_to_sort = []
newlist = []
sorted_list = []
for col_number in range(1,13):
for obj in mson:
if(obj['row'] == col_number):
list_to_sort.append(obj)
newlist = sorted(list_to_sort, key=lambda k: k['col'])
#I am not able to write below this for how I will place this sorted newlist in my
final sorted_list variable which is the final variable I want having row wise objects which are sorted on column
Переменная, которая должна быть отсортирована:
mson = [
{'col': 10, 'row': 1, 'size_x': 3, 'size_y': 3},
{'col': 1, 'row': 1, 'size_x': 3, 'size_y': 2},
{'col': 5, 'row': 1, 'size_x': 2, 'size_y': 2},
{'col': 1, 'row': 3, 'size_x': 3, 'size_y': 2},
{'col': 1, 'row': 5, 'size_x': 2, 'size_y': 2},
{'col': 1, 'row': 7, 'size_x': 3, 'size_y': 2},
{'col': 8, 'row': 4, 'size_x': 3, 'size_y': 3.0},
{'col': 6, 'row': 7, 'size_x': 3, 'size_y': 2}]
** Мой желаемый выход для вышеуказанной переменной mson **
mson_sorted = [
{'col': 1, 'row': 1, 'size_x': 3, 'size_y': 2},
{'col': 5, 'row': 1, 'size_x': 2, 'size_y': 2},
{'col': 10, 'row': 1, 'size_x': 3, 'size_y': 3},
{'col': 1, 'row': 3, 'size_x': 3, 'size_y': 2},
{'col': 8, 'row': 4, 'size_x': 3, 'size_y': 3.0},
{'col': 1, 'row': 5, 'size_x': 2, 'size_y': 2},
{'col': 1, 'row': 7, 'size_x': 3, 'size_y': 2},
{'col': 6, 'row': 7, 'size_x': 3, 'size_y': 2}]
Любая помощь будет по достоинству оценена