列表中的dict python

时间:2015-12-25 13:50:12

标签: python dictionary key

我正在尝试编写一个包含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])

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

1 个答案:

答案 0 :(得分:0)

你的第一行输错了。

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

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

另外,不要对变量使用内置名称。至少将它命名为{{1}}。

编辑: wrt“表示将称为函数”==或者更确切地说,将称为可调用