将python中元组列表转换为dictionary

2024-05-14 15:24:41 发布

您现在位置:Python中文网/ 问答频道 /正文

想象一下一个社交网络网站,它允许人们指定他们喜欢的其他人。在

我们可以将谁喜欢谁的信息存储在元组列表中,例如分配给

friendface below:
    friendface = [
    (’Zeus’,’Apollo’),
    (’Zeus’,’Aphrodite’),
    (’Apollo’,’Aphrodite’),
    (’Athena’,’Hera’),
    (’Hera’,’Aphrodite’),
    (’Aphrodite’,’Apollo’),
    (’Aphrodite’,’Zeus’),
    (’Athena’,’Aphrodite’),
    (’Aphrodite’,’Athena’),
    (’Zeus’,’Athena’),
    (’Zeus’,’Hera’),

编写一个Python函数,比如将元组列表作为 它的参数(采用上述格式)并返回字典作为结果。outputdictionary有用于键的字符串(表示人名)和用于值的字符串列表(表示人名列表)。在

字典中的每个人都与他们喜欢的人的列表相关联。例如,当函数应用于friendface列表时,其行为应如下所示:

^{pr2}$

抱歉,应该加上这是从一个考试问题的例子列表,但没有给出答案。 我已经做到了: def喜欢关系(网络):
喜欢={} 对于网络中的k,v:

之后我有点迷茫了,因为它不像我们在课堂上做的任何例子


Tags: 函数字符串网络列表字典例子社交元组
2条回答

使用defaultdict(list)或{}-在性能和可读性方面没有太大差别,所以这实际上是一个品味问题。我更喜欢使用setdefault

likes = {}
for k, v in friendface:
    likes.setdefault(k, []).append(v)

下面是一个使用^{}的解决方案:

def likes_relation(friendface):
    d = defaultdict(list)
    for k, v in friendface:
        d[k].append(v)
    return d

结果:

^{pr2}$

希望这有帮助!在

相关问题 更多 >

    热门问题