Ошибка: индексы списка должны быть целыми числами, но это целые числа - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь создать некоторое время l oop и увеличить индекс на 1 каждый раз, когда запускается l oop.

У меня n установлено в ноль, что должно сказать python, что это целое число. Однако, когда он достигает if contact_list[n]['vid'] == '':, он видит n в виде строки.

Вот l oop. Любая помощь с благодарностью:

has_more = True

n = 0

while has_more:
    parameters = urllib.parse.urlencode(parameter_dict)
    get_url = get_all_contacts_url + parameters + property_params
    r = requests.get(url= get_url, headers = headers)
    response_dict = json.loads(r.text)
    has_more = response_dict['has-more']
    contact_list.append(response_dict['contacts'])
    parameter_dict['vidOffset']= response_dict['vid-offset']
    if len(contact_list) >= max_results:
        max_results += 100
    if contact_list[n]['vid'] == '':
        break
    contact_count += 1
print('loop finished')

list_length = len(contact_list) 
print("List Length:",list_length)

print("You've succesfully parsed through {} contact records and added them to a list".format(list_length))

1 Ответ

1 голос
/ 04 февраля 2020

Попробуйте это:

 if 'vid' in contact_list:
    if contact_list[n] == '':
     break

Надеюсь, это поможет!

Да, и понял, что n на самом деле не увеличивается, если это так, просто вызовите 0 в качестве индекса списка без необходимости назначить n = 0.

...