如何返回List / Dictionary

时间:2015-03-12 18:14:30

标签: python

def pluglistafamilia():
    data = connect('GET', '/plugins/families')
    return list((h['id']) for h in data['family'])

def getfamilia():
    data = connect('GET', '/plugins/families')
    return dict((h['count'], h['name'], h['id']) for h in data['family'])


if __name__ == '__main__':
    token = login(username, password)
    d = getfamilia()

    print d

我在尝试打印列表或字典时收到以下错误消息。我知道我的语法可能不对。我还是个初学者。

  

TypeError:list indices必须是整数,而不是str

1 个答案:

答案 0 :(得分:1)

在不知道您正在使用什么API的情况下,无法告诉WHICH部分您犯了错误。听起来像datah的行是列表中的列表:

return dict((h['count'], h['name'], h['id']) for h in data['family'])

然而,当你确实这样做时,你也会遇到另一个问题。

In [2]: dict((1,2,3))
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-0c2872d03334> in <module>()
----> 1 dict((1,2,3))

TypeError: cannot convert dictionary update sequence element #0 to a sequence

我不确定你的词典是什么样的,但是你更适合做dict comp。

return {h['count']: (h['name'], h['id']) for h in data['family']}
# or something like that...