【Python】二维数组,使用 * 号来进行重复,导致结果不符合预期
生活随笔
收集整理的這篇文章主要介紹了
【Python】二维数组,使用 * 号来进行重复,导致结果不符合预期
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求:生成一個4行3列,值全為0的 list
# 方法一: res = [[0]*3]* 4 print(res) # 這個第1列的值都變成了9 res[1][1] = 9 print(res)# 方法二: res = [[0 for i in range(3)] for i in range(4)] # 這個只修改 第1行第1列的值 res[1][1] = 9 print(res)
可能是因為 python中的 * 號傳的是地址,導致數據修改亂掉。
所以推薦直接使用列表生成式。否則早晚掉進坑里。
總結
以上是生活随笔為你收集整理的【Python】二维数组,使用 * 号来进行重复,导致结果不符合预期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】PAT-1044 火星数
- 下一篇: 【Python】选择数组中的数,拼接成一