Список Python не может добавлять: Синтаксическая ошибка: append () не принимает аргументов с ключевыми словами - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь получить некоторую информацию из веб-службы и поместить ее в цикл, но я застрял в этой надоедливой ошибке.

 for game in r['result']['data']:
        print("id:{} \n Name {}".format(game['id'], game['name']))
        lista.append(**game)

этот список должен быть возвращен из функции, но яне может до этой ошибки!

id:937296541
 Name Dead Zombie Drop Crush - Military Training Adventure
Traceback (most recent call last):
  File "games_info.py", line 195, in <module>
    cli()
  File "C:\Users\Guilherme\AppData\Local\Programs\Python\Python37\lib\site-packages\click\core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\Guilherme\AppData\Local\Programs\Python\Python37\lib\site-packages\click\core.py", line 717, in main
    rv = self.invoke(ctx)
  File "C:\Users\Guilherme\AppData\Local\Programs\Python\Python37\lib\site-packages\click\core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\Guilherme\AppData\Local\Programs\Python\Python37\lib\site-packages\click\core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "games_info.py", line 184, in cli
    listaTot = dumpb(dti, dtf, token)
  File "games_info.py", line 134, in dumpb
    lista.append(**game)
AttributeError: 'dict' object has no attribute 'append'

На самом деле список претендует на то, чтобы быть списком объектов, определенных классом.

gameVar = Game(game['age_rating'], game['average_user_rating'], 
          game['current_version_release_date'], game['description'], 
          game['developer'], game['genres'], game['icon_url'], 
          game['id'], game['inapp_purchases'], game['languages'], 
          game['name'], game['original_release_date'], game['price'], 
          game['primary_genre'], game['size'], game['subtitle'], 
          game['url'], game['user_rating_count'])
lista.append(gameVar)

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

AttributeError: у объекта 'dict' нет атрибута 'append'.
Вы определили 'lista' как словарь, у которого нет функции добавления.

Вы можете определить его как ::

lista = []
lista.append(**game)
0 голосов
/ 22 октября 2019

Lista - это dict, у которого нет функции добавления. Вы можете изменить его на список, просто определите так. lista = []

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...