TypeError: объект ‘NoneType’ не поддается подписке, несмотря на возможность индексирования

#python #pandas #list #nonetype

#питон #панды #Список #нетипичный

Вопрос:

У меня есть список, который я могу полностью индексировать вне цикла. Однако, когда я помещаю его в цикл, я получаю сообщение об ошибке «TypeError: объект ‘NoneType’ не подлежит подписке». Я понятия не имею, что происходит.

Вот код:

 GDPforDataTables = []
ct = 0
for x in range(len(pdcovid)):
  if pdcovid['date'][x] == '11/30/2020':
for t in range(len(pdEcon)):
  if pdEcon['Country Name'][t] == pdcovid['location'][x]:
    GDPforDataTables.append([pdEcon['Country Name'][t], Final_GDP[t], pdEcon['2019 Score'][t], pdcovid['total_cases'][x], pdcovid['total_deaths'][x], pdcovid['total_tests'][x]])

 for x in range(len(GDPforDataTables)):
   for t in range(len(pdHuman)):
      if GDPforDataTables[x][0] == pdHuman['countries'][t]:
         GDPforDataTables[x] = GDPforDataTables[x].append(pdHuman['hf_score'][t])
 

Комментарии:

1. python основан на индексе 0, так что вам может повезти, если вместо этого вы сделаете что-то подобное for x in range(len(pdcovid) -1 ) . Возможно, вы получаете эту ошибку только в последнем цикле?

2. Пожалуйста, приведите полный, самодостаточный пример. Делая это, вы, скорее всего, узнаете, в чем заключается реальная проблема. Скажите здесь, что вы используете range(len(aDict)), а затем индексируете aDict[‘key’][x]. вы имели в виду range(len(aDict[‘key’])) ?

3. Похоже, форматирование перепуталось? Как есть, это должно вызвать a SyntaxError , потому что это первое if пустое.

4. Да — форматирование было перепутано в сообщении stack overflow (не перепутано в реальном коде), и «-1» тоже не работает. Кроме того, len (список) должен работать нормально. Что касается автономного примера, то это в основном так. Фреймы данных довольно нормальные, и я написал по существу одно и то же более 25 раз, используя разные переменные, и все работает нормально. В какой-то момент он отсортировал список, а затем удалил этот код… Может ли это быть проблемой?