Создать словарь из списка списка строк - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть список таких списков:

[["David Ark", "David Tennant", "David Beckham"],
["Ananya Birla", "Ananya Agarwal", "Ananya Chatterjee", "Ananya Roy"],
["Inés Sainz", "Inés Suarez", "Inés Melchor"]]

Мне нужно создать словарь в python, который принимает в качестве ключа «имя» и в качестве значений все «фамилии»

{"David": ["Beckham", "Ark", "Tennant"],
 "Ananya": ["Agarwal", "Birla", "Chatterjee", "Roy"],
 "Inés": ["Melchor", "Sainz", "Suarez"]}

Есть предложения?

Список FamilyName получает значение каждой первой фамилии моего списка. Я не понимаю, почему он не перебирает все имена.

def abstract_names(NamesOfNames):
    DictName = {}
    FamilyName = []
    for l in NamesOfNames:

        for name in l:
            x = name.rsplit(" ")

            if x[0] not in DictName.keys():
                FamilyName.append(x[1])
                DictName[x[0]] = FamilyName


    return DictName
...