猿问

Python List 澄清:直接赋值是不可能的

鉴于value = [],以下代码片段之间有什么区别?


片段1:


for i in range(t):

    value[i] = 'yes'

片段2:


value += input.split()

在第一种情况下,我收到错误“IndexError:列表分配索引超出范围”


第二种情况似乎工作正常,没有任何错误。


幕布斯6054654
浏览 200回答 2
2回答

慕婉清6462132

您的第一个示例尝试访问i列表的第 th 个元素并将其设置为一个值。由于您的列表是一个空列表,因此该元素不存在,因此您会收到错误消息。要使第一个片段起作用,您必须设置以下append值:values = []for i in range(t):    values.append(i)第二个示例使用的事实是,当添加两个列表时,+您会创建一个新列表,第二个列表的所有元素都在末尾。通过使用+=这个新列表被values再次分配。第二个片段也可以使用extend:values.extend(input.split())
随时随地看视频慕课网APP

相关分类

Python
我要回答