here's my code:
import copy
    
teamdict = {1:{},2:{},3:{},4:{},5:{}}
teamlst = []
matchlst = [1,2,3,4,5]
lst = [[1,5,0],[1,0,3],[2,3,0],[2,0,1],[3,0,6],[3,0,1],[4,0,1],[4,0,5],[5,0,8]]
for i in matchlst:
    for j in lst:
        if i == j[0]:
            teamlst.append(j[2])
        elif len(teamlst)>0 and i != j:
            continue
        else:
            pass
    teamlst = set(teamlst)
    teamlst = list(teamlst)
    teamlst.sort()
    team_dictionary = dict.fromkeys(teamlst, [])
    teamdict[i] = team_dictionary
    teamlst.clear()
print(teamdict)
dic = copy.deepcopy(teamdict)
for i in lst:
    dic[i[0]][i[2]].append(i[1])
print(dic)
this is what i got:
{1: {0: [5, 0], 3: [5, 0]}, 2: {0: [3, 0], 1: [3, 0]}, 3: {1: [0, 0], 6: [0, 0]}, 4: {1: [0, 0], 5: [0, 0]}, 5: {8: [0]}}
but what i expect is:
{1: {0: [5], 3: [0]}, 2: {0: [3], 1: [0]}, 3: {1: [0], 6: [0]}, 4: {1: [0], 5: [0]}, 5: {8: [0]}}
what goes wrong? seems like this append method add the element to all the keys in the nested dictionary
 
    