Мне нужно написать функцию, которая принимает список списков, представляющих друзей для каждого человека, и должна преобразовать его в словарь.поэтому вход [['A','B'],['A','C'],['A','D'],['B','A'],['C','B'],['C','D'],['D','B'],['E']]
должен возвращать {A:[B,C,D],B:[A],C:[B,D],D:[B],E:None}
Вход:
[['A','B'],['A','C'],['A','D'],['B','A'],['C','B'],['C','D'],['D','B'],['E']]
Ожидаемый результат:
{A:[B,C,D],B:[A],C:[B,D],D:[B],E:None}
В настоящее время я пытаюсь сделать следующее:
s=[['A','B'],['A','C'],['A','D'],['B','A'],['C','B'],['C','D'],['D','B'],['E']]
output=dict.fromkeys((set([x[0] for x in s])),[ ])
for x in s:
if len(x)>1:
output[x[0]].append(x[1])
else:
output[x[0]].append(None)
Но вывод дает мне все значения для каждого ключа, а не возвращает только соответствующие значения
Вывод, который я получаю:
{
'A': ['B', 'C', 'D', 'A', 'B', 'D', 'B', None],
'B': ['B', 'C', 'D', 'A', 'B', 'D', 'B', None],
'C': ['B', 'C', 'D', 'A', 'B', 'D', 'B', None],
'D': ['B', 'C', 'D', 'A', 'B', 'D', 'B', None],
'E': ['B', 'C', 'D', 'A', 'B', 'D', 'B', None]
}