我正在尝试编写一个包含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])
我在语法方面遇到了一些问题,以及如何在每个键的值中接近列表。
答案 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
表示将其调用为q
和list_
作为参数的函数。
另外,不要对变量使用内置名称。至少将它命名为{{1}}。
编辑: wrt“表示将称为函数”==或者更确切地说,将称为可调用。