鉴于value = [],以下代码片段之间有什么区别?片段1:for i in range(t): value[i] = 'yes'片段2:value += input.split()在第一种情况下,我收到错误“IndexError:列表分配索引超出范围”第二种情况似乎工作正常,没有任何错误。
2 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
您的第一个示例尝试访问i列表的第 th 个元素并将其设置为一个值。由于您的列表是一个空列表,因此该元素不存在,因此您会收到错误消息。
要使第一个片段起作用,您必须设置以下append值:
values = []
for i in range(t):
values.append(i)
第二个示例使用的事实是,当添加两个列表时,+您会创建一个新列表,第二个列表的所有元素都在末尾。通过使用+=这个新列表被values再次分配。
第二个片段也可以使用extend:
values.extend(input.split())
添加回答
举报
0/150
提交
取消