码迷,mamicode.com
首页 > 编程语言 > 详细

Python列表初始化的坑

时间:2021-06-02 12:38:38      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:导致   int   pre   range   print   一个   time   class   mes   

二维列表初始化

L=[[0]*n]*m方式初始化

  • 初始化一个 \(m\times n\) 的二维列表,初值全为0
L=[[0]*3]*2
print("初始的:",L)
#赋值
for i in range(2):
  for j in range(3):
    L[i][j]=i+j
print("赋值后:",L)
  • 输出结果如下:
>>>初始的:
[[0,0,0],[0,0,0]]
>>>赋值后:
[[1,2,3],[1,2,3]]

列表表达式初始化

  • L=[[0 for _ in range(3)] for _ in range(2)]方式初始化
L=[[0 for _ in range(3)] for _ in range(2)]
print("初始的:",L)
#赋值
for i in range(2):
  for j in range(3):
    L[i][j]=i+j
print("赋值后:",L)
  • 输出结果如下:
>>>初始的:
[[0,0,0],[0,0,0]]
>>>赋值后:
[[0,1,2],[1,2,3]]

初始化方式不同导致赋值后结果不同原因

Python列表初始化的坑

标签:导致   int   pre   range   print   一个   time   class   mes   

原文地址:https://www.cnblogs.com/brilliantM/p/14816376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!