所以我的程序应该在一个句子中,然后吐出第三个单词。
以下是我的代码:
L = []
x = input('Enter a sentence: ')
L.append(x.split(' '))
print (L[2])
出于某种原因,我收到错误:IndexError: list index out of range
。
答案 0 :(得分:3)
如果您在执行此操作后实际打印出L
的值:
L.append(x.split(' '))
你会看到你实际上创建了一个列表列表,这绝对不是你想要的。使用示例输入“chicken bock”运行代码,产生:
[['chicken', 'bock']]
您要做的只是将split
的结果分配给L
L = x.split(' ')
此外,您需要注意在句子中输入的元素数量。特别是因为列表从索引0开始,所以您需要确保实际访问边界内的索引。因此,如果我们以“鸡块”作为输入,您对L[2]
的测试将无效。您实际上需要L[1]
来获取列表的第二个元素。
最后,如果出于某种原因,您仍然希望将“添加”元素添加到列表L
,那么根据您制定的解决方案,您实际上想要使用extend
而不是{ {1}}:
append
提供第三个要素的实际例子:
L.extend(x.split(' '))
L = []
x = input('Enter a sentence: ')
L = x.split(' ')
print(L[2])
答案 1 :(得分:1)
您正在将分割句子时创建的列表添加到列表中。因此,您有一个只有一个元素的最终列表,即列表。试试这个:
x = input('Enter a sentence: ')
l = []
l.extend(x.split())
print(new_list[2])
答案 2 :(得分:0)
试试这个:
x = input("Enter a sentence:");
x.split(' ');
print (x[2])
string.split(x);
将输出转换为数组,无需使用追加。
如果您想立即将此值附加到数组,只需执行array[a] = x[b]
,其中a和b是整数。
答案 3 :(得分:0)
split()返回列表。因此,您只需将列表附加到列表L中。而是执行L=x.split(' ')