我遇到了以下代码:
b = [4,5,6]
b[-1:-1] = [5]
print b
哪个输出:
b = [4,5,5,6]
为了尝试了解发生的情况,我将第2行更改为b[-1:-2]
,b[-1:-3]
,并发现打印的b
仍然相同。我真的不明白第二行是做什么的。
此外,当我更改b[-1:-1] = 5
时,会出现错误,我不清楚为何会出现这种情况。
谢谢
答案 0 :(得分:0)
这是经典的字符串/数组切片问题。
当你执行b[-1:-1]
时,它会告诉我一个从最后一个元素到第二个元素的字符串,在这种情况下为空。并使用新列表分配/替换该列表[5]。
其他选项也是如此。
最后一句话
b[-1:-1]=5
说给我一个清单并给它分配一个元素。因此,类型不匹配会导致错误。