python - Python 为什么 table[0][:] == table[:][0]
问题描述
为什么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 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
a = table2D[0][:]
b = table2D[:][0]
a[0] = 0
print(table2D[0]) # [1, 2, 3]
b[0] = 0
print(table2D[0]) # [0, 2, 3]
推荐阅读
- php - 将 woocommerce 中的产品数量拆分到单独的行中
- mongodb - 使用 mongodb go driver 聚合计算和过滤管道
- reactjs - 当 API 没有该字段时的 setState
- javascript - 如何在更改源的同时保持视频高度
- scala - Spark:线程“主”java.util.ServiceConfigurationError 中的异常:org.apache.spark.scheduler.ExternalClusterManager
- python - Python AttributeError:部分初始化的模块
- docker - 当 HOST 具有时区时,Docker 上的 JWT 令牌身份验证验证失败
- javascript - 除非我在 Head Tag 中使用 PHP 包含,否则单独的 JS 脚本不适用于 jQuery
- postgresql - 如何在 Postgres 中将 JSON 字符串转换为数字/浮点数?
- json - 如何在没有任何中介的情况下将数据直接发送到 MongoDB?