问题
写代码的时候发现一个奇怪的现象:
lst = [[10, [1, 2]],
[20, [3, 4]]]
# 注意到 lst[1][:] 和 lst[:][1] 居然是一样的
assert lst[1][:] == lst[:][1] == [20, [3, 4]]
答案
个人觉得,因为 list型数据 的 索引顺序 是 从左往右,所以满足以下等式:
lst[1][:] == lst[1] == [20, [3, 4]] (1)
lst[1][:] == lst[1] == [20, [3, 4]] (2)
由(1)、(2)可得:
lst[1][:] == lst[:][1]
本文探讨了Python中列表索引的特殊现象,通过示例代码解释了lst[1][:]与lst[:][1]的区别及原因,并给出了合理的数学证明。
5746

被折叠的 条评论
为什么被折叠?



