Задать вопрос
@Samad_Samadovic

Как отсортировать и вывести такой словарь A = {"A_1": {1: "Yes"}, "C_2":{2: "No"}, "B_1": {1: "Yes"}}?

Мне нужно отсортировать словарь примерно вот так:
{"A_1": {1 : "Yes"}, "B_1": {1 : "Yes"} , "C_2":{2 : "No"}}
или вот второй пример:
{"A_2":{2:"Yes"}, "B_1":{1:"No"}} --> {"B_1":{1:"No"}, "A_2":{2:"Yes"}}
То есть мне нужно отсортировать по ключу значения(точнее в словаре в одной записи у меня есть значение в котором ещё один словарь и мне нужно отсортировать по ключу второго словаря)
И мне нужно вывести словарь что бы он выглядел примерно вот так:
A_1 - Yes
B_1 - Yes
C_2 - No
или
B_1 - No
A_2 - Yes
  • Вопрос задан
  • 152 просмотра
Подписаться 1 Простой Комментировать
Ответ пользователя Samad_Samadovic К ответам на вопрос (3)
@Samad_Samadovic Автор вопроса
Вот так работает вывод списка:
a = {"A_2":{2:""}, "B_1":{1:"No"}, "A_3":{3:"Yes"}}
a = {key: a.get(key) for key in sorted(a, key=lambda x: [(int(i[1]), i[0]) for i in [x.split('_')]][0])}
    for k, v in a.items():
            l = []
            l.append(str(v.values()))
            if len(''.join(l)[14:len(str(v.values())) - 3]) > 0:
                print(f"{k} - {''.join(l)[14:len(str(v.values())) - 3]}")
            else:
                print(f"{k} - Ничего не записанно")
Ответ написан