列出字典的值 python

list in the value of a dict python

我正在尝试编写一个包含 dict 的函数,每个键的值按以下顺序显示: 例如,如果函数得到以下列表:

list = [(a,b),(a,c)(f,q)] 

它将创建这个:

dict = {'a':('a',['b','c'],'f':('f',['q'])}


def create_dict(self, link_list):
    """
    creating a dict 
    :param link_list:
    :return:
    """
    collector = {}
    for tup in link_list:
        if tup[0] not in collector:
            collector[str(tup[0])] = (tup[0], [tup[1]])
        else:
            collector[tup[0]][1].append(tup[1])

我在语法以及如何处理每个键的值中的列表方面遇到了一些问题。

第一行有错字。

list = [(a,b),(a,c)(f,q)]  # missing comma
# should be:
list = [(a,b),(a,c),(f,q)]

在您的版本中,(a, c) 是一个元组,然后没有逗号,(f, q) 表示将其作为函数调用 fq 作为参数.

此外,不要为变量使用内置名称。至少将其命名为 list_


编辑: wrt "represents calling that as a function" == 或者更确切地说,作为可调用的