我正在使用Jupyter笔记本电脑,并且正在练习网页抓取。我写道:
rows = []
rows.append(['Rank', 'Company Name', 'Webpage', 'Description',
'Location', 'Year end', 'Annual sales rise over 3 years',
'Sales f000s', 'Staff', 'Comments'])
rows[1]
我只想访问第二个元素。为什么这是一个错误“列表索引超出范围”?我找不到类似于我的问题。
答案 0 :(得分:0)
因为需要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']]
其中包含一个元素
答案 1 :(得分:0)
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
将列表变成空白会创建一个单元素列表,其唯一元素是另一个列表。扩展列表会将每个项目添加到空列表,从而使列表成为多元素列表。