结合字典和清单

时间:2019-02-27 01:00:37

标签: python

我下面有一个员工编号字典和相应的员工姓名:

{
    '0': 'Hiro',
    '1': 'Dunn',
    '2': 'Sue',
    '3': 'Chi',
    '4': 'Thor',
    '5': 'Clive',
    '6': 'Hicks',
    '7': 'Devin',
    '8': 'Kate',
    '9': 'Klein',
}

我这里还有一个列表,显示了员工的“朋友”。这两个列代表各个员工的员工ID。

[
    ['0', '1'],
    ['0', '2'],
    ['1', '2'],
    ['1', '3'],
    ['2', '3'],
    ['3', '4'],
    ['4', '5'],
    ['5', '6'],
    ['5', '7'],
    ['6', '8'],
    ['7', '8'],
    ['8', '9'],
]

我需要将这两个名称以一种方式附加,以产生雇员的ID,他们的姓名以及右边的“朋友”的ID。我真的不知道如何开始这样做。我的压力比我一段时间要大。有没有人有什么建议。谢谢!

1 个答案:

答案 0 :(得分:0)

类似

employee_names = {
    '0': 'Hiro',
    '1': 'Dunn',
    '2': 'Sue',
    '3': 'Chi',
    '4': 'Thor',
    '5': 'Clive',
    '6': 'Hicks',
    '7': 'Devin',
    '8': 'Kate',
    '9': 'Klein',
}

friend_edges = [
    ['0', '1'],
    ['0', '2'],
    ['1', '2'],
    ['1', '3'],
    ['2', '3'],
    ['3', '4'],
    ['4', '5'],
    ['5', '6'],
    ['5', '7'],
    ['6', '8'],
    ['7', '8'],
    ['8', '9'],
]

friends_graph = {employee_id: [] for employee_id in employee_names}
for u, v in friend_edges:
    friends_graph[u].append(v)
    friends_graph[v].append(u)

print(friends_graph)

可能会帮助您。 结果是 {'0': ['1', '2'], '1': ['0', '2', '3'], '2': ['0', '1', '3'], '3': ['1', '2', '4'], '4': ['3', '5'], '5': ['4', '6', '7'], '6': ['5', '8'], '7': ['5', '8'], '8': ['6', '7', '9'], '9': ['8']}

不确定在结果字典中是否也需要员工姓名?您总是可以使用原始字典从任何ID中获取员工姓名。