#4. [Задача со звездочкой]: усложненный вариант задания 3. Написать функцию thesaurus_adv(),
#принимающую в качестве аргументов строки в формате «Имя Фамилия» и возвращающую словарь,
#в котором ключи — первые буквы фамилий, а значения — словари,
#реализованные по схеме предыдущего задания и содержащие записи, в которых фамилия начинается с соответствующей буквы.

#Техническое задание
#1.	Количество передаваемых строк в функцию может быть любым. Считаем, что переданы будут только корректные строки.
#2.	Вернуть словарь, с ключами, отсортированными в алфавитном порядке.
#Примеры/Тесты:

#>>> thesaurus\_adv("Иван Сергеев", "Алла Сидорова", "Инна Серова",
#           "Петр Алексеев", "Илья Иванов", "Анна Савельева", "Василий Суриков")
#{
#   'А':{
#          'П': ['Петр Алексеев']},
#   'И': {
#          'И': ['Илья Иванов']},
#   'С': {
#          'А': ['Алла Сидорова', 'Анна Савельева'],
#          'В': ['Василий Суриков'],
#          'И': ['Иван Сергеев', 'Инна Серова']}}

#dictionary = { "И":['Иван', 'Илья'], "Д":['Денис', 'Дима'], "М":['Марина'], "Р":['Ринат'], "П":['Пётр'], "О":['Олья']}
dictionaryf = { "A": {"П": ['Петр Алексеев'], "Д":['Денис Ара', 'Дима Азнауров']}, "И":{"И": ['Илья Иванов']}, "С": {"А": ['Алла Сидорова', 'Анна Савельева'], "В": ['Василий Суриков'], "И": ['Иван Сергеев', 'Инна Серова']} }

def getFirst(self):
    return self.first_name
 
def getLast(self):
    return self.last_name
        
def thesaurus_adv(wrd):
    buf2 = ""
    buf1 = ""
    wrd2 = []
    wrd.sort()
    
    for i in wrd:
        i= i.split()
        wrd2.append(i[-1].title()) 
        
    wrd2.sort()
    for i in wrd2:
        key2 = i[0].capitalize() #первая буква фамилии
        print('"', key2, '": ')
        for j in wrd:
            key1 = j[0].capitalize() #первая букв
            if (buf1 != key1):
                print('  "', key1, '": ', dictionaryf[key2][key1], '\n')
            buf1 = key1

names = ["Иван Сергеев", "Алла Сидорова", "Инна Серова", "Петр Алексеев", "Илья Иванов", "Анна Савельева", "Василий Суриков"]

thesaurus_adv(names)
