Python 为什么append对空列表有效?

Python 为什么append对空列表有效?,python,list,matrix,Python,List,Matrix,在执行transpose.append(a)之前,列表a被a=[]清空 因为在最后所有的数字都被打印出来了,所以它不应该打印空的Append在空列表上工作,因为在python中,Append()方法将一个元素附加到列表的末尾,而不管它是否为空。为什么Append不能在空列表上工作?为什么你认为它不应该为空,lo llaman重新初始化列表您的问题有点混乱,因为它是目前编写的。假设:1)您认为您正在向转置列表添加空列表,2)您正在向列表添加元素行[i]。令人惊讶的是,转置有行元素。这是因为一个更好

在执行
transpose.append(a)
之前,列表a被a=[]清空
因为在最后所有的数字都被打印出来了,所以它不应该打印空的

Append在空列表上工作,因为在python中,Append()方法将一个元素附加到列表的末尾,而不管它是否为空。

为什么
Append
不能在空列表上工作?为什么你认为它不应该为空,lo llaman重新初始化列表您的问题有点混乱,因为它是目前编写的。假设:1)您认为您正在向转置列表添加空列表,2)您正在向列表添加元素行[i]。令人惊讶的是,转置有行元素。这是因为一个更好的想法是,您可以将引用添加到要转置的对象。这些对象最初为空。稍后,您通过向这些对象添加行[i]来更新这些对象。对象只是更新的(即变异的),所以转置仍然有相同的对象。只是现在对象不再是空的。
matrix = [[1, 2], [3,4], [5,6], [7,8]]
transpose = []

for i in range(2):

    a=[]
    print (a)

    transpose.append(a)

    for row in matrix:

         a.append(row[i])
print (transpose)