4
与列表切片相反,元组切片不返回新对象
在Python(2和3)中。每当我们使用列表切片时,它都会返回一个新对象,例如: l1 = [1,2,3,4] print(id(l1)) l2 = l1[:] print(id(l2)) 输出量 >>> 140344378384464 >>> 140344378387272 如果用元组重复相同的事情,则返回相同的对象,例如: t1 = (1,2,3,4) t2 = t1[:] print(id(t1)) print(id(t2)) 输出量 >>> 140344379214896 >>> 140344379214896 如果有人能弄清为什么会发生,那将是很棒的,在我的整个Python经验中,我一直以为空切片会返回一个新对象为印象。 我的理解是,它返回的对象与元组是不可变的相同,因此没有必要为其创建新副本。但是同样,文档中也没有提到它。