Python为什么表[0][:]==表[:][0]
为什么Python为什么表[0][:]==表[:][0],python,list,Python,List,为什么tab2D[:][0]和tab2D[0][:]会给出相同的结果 if __name__ == "__main__": table2D = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] print(table2D[:][0]) #[1,2,3] print(table2D[0][:]) #[1,2,3] 它们都有相同的值,但它们是两个不同的列表 table2D[:]创建一个table
tab2D[:][0]
和tab2D[0][:]
会给出相同的结果
if __name__ == "__main__":
table2D = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print(table2D[:][0]) #[1,2,3]
print(table2D[0][:]) #[1,2,3]
它们都有相同的值,但它们是两个不同的列表
table2D[:]
创建一个table2D
的副本,[0]
获取该副本的第一个索引,因此
table2D[:][0]
索引0位于表2D
的副本中
table2D[0]
获取table2D
的第一个索引,并且[:]
创建该列表的副本,因此
table2D[0][:]
是
表2D中索引0的副本
实际上,它并不完全相同。它们看起来具有相同的值。
但他们有不同的参考资料
table2D=[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
a=表2D[0][:]
b=表2D[:][0]
a[0]=0
打印(表2D[0])#[1,2,3]
b[0]=0
打印(表2D[0])#[0,2,3]