Кажущаяся простой ошибка индексации списка вне диапазона - PullRequest
0 голосов
/ 23 сентября 2018

Я работаю в блокноте Jupyter и занимаюсь веб-скребком.Я написал:

rows = [] 
rows.append(['Rank', 'Company Name', 'Webpage', 'Description',
        'Location', 'Year end', 'Annual sales rise over 3 years',
        'Sales f000s', 'Staff', 'Comments'])
rows[1]

Я просто хочу получить доступ ко 2-му элементу.Почему это ошибка «индекс списка вне диапазона»?Я не мог найти вопрос, похожий на мой.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2018

list.append добавляет один элемент в список.list.extend объединяет базовый список с целью.Учтите это:

>>> x = [1, 2]
>>> y = [1, 2]

>>> x.append([3,4])
>>> x
[1, 2, [3, 4]]

>>> y.extend([3, 4])
>>> y
[1, 2, 3, 4]

То, что вы ищете, это list.extend, так как append, когда список в пустом виде создает список из одного элемента, единственным элементом которого является другой список.Расширение списка добавляет каждый элемент в пустой список, что делает список многоэлементным.

0 голосов
/ 23 сентября 2018

потому что нужно extend:

rows = [] 
rows.extend(['Rank', 'Company Name', 'Webpage', 'Description',
        'Location', 'Year end', 'Annual sales rise over 3 years',
        'Sales f000s', 'Staff', 'Comments'])
rows[1]

Это не работает, потому что вы не объединяете, вы добавляете список в другой список

ТАК это будет:

[['Rank', 'Company Name', 'Webpage', 'Description',
        'Location', 'Year end', 'Annual sales rise over 3 years',
        'Sales f000s', 'Staff', 'Comments']]

то, что содержит один элемент

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