2015-12-25 41 views
0

我想写一个包含dict的方式的功能,在下面的顺序每个键的外观的价值: 为exmple如果该功能得到了以下列表:名单在字典蟒值

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

这应该工作正常,因为我看到。你会得到什么样的错误?或者产出与预期产出有什么不同?为什么要冗余地存储密钥(作为字典的关键字和值元组的第一个元素)? – fodma1

+0

我想制作一个字典,如果文章(样式维基百科)和关键代表文章和键represnt文章中有文章本身的链接。 –

回答

0

你在第一行有错字。

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 “代表调用一个作为函数” ==或者更确切地说,作为调用

+0

是的,它让我花了一段时间,问题是因为我不知道字典的语法如此之好,我认为问题出在我的代码中...... thnx –

+0

欢迎来到所以。通常,您应该Upvote有帮助的答案,并接受最适合您的答案。 – aneroid

+0

我知道,但我还没有足够的说唱点,因为这样做 –