2015-03-12 2 views
-1
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 must be integers, not str

+1

Что означает «connect()», которое должно возвращаться и как оно объявляется? –

+1

Когда вы используете 'list []', вам нужно передать номер индекса в '[]', а не строки. – letsc

+1

Пожалуйста, отправьте полный ответ. –

ответ

1

Не зная, что API вы используете, это невозможно сказать, какая часть вы сделали ошибку в Походит либо data или h списки в строке:.

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 Комп.

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

[ { "счетчик": 11160, "имя": "Проверки AIX Локальная безопасность", "ID": 2 }, { "count": 498, "name": "Amazon Linux Local Sec urity Проверки», "ID": 10 }, { "счетчик": 102, "Название": "бэкдоры", "идентификатор": 22 }, { "счетчик": 1872, "название": "Проверки CentOS Локальная безопасность", "ID": 3 }, { "Count": 3222, "название": "CGI нарушения", "ID": 8 }, } – wwi

+0

его пример nessus api – wwi

+0

- пример, я не смог перечислить весь пример из-за размера. – wwi

Смежные вопросы