Python创建列表
Python中一般由列表代替数组,列表也有一维列表和二维列表之分,本文介绍如何创建列表,创建方法分为具体创建和批量创建,具体创建方法如下。Python版本为3.6。
·
前言
Python中一般由列表代替数组,列表也有一维列表和二维列表之分,本文介绍如何创建列表,创建方法分为具体创建和批量创建,具体创建方法如下。Python版本为3.6。
具体创建
list0 = [11, 22, 33, 44]
print(list0)
multiList0 = [[11, 22], [33, 44]]
print(multiList0)
批量创建
一维列表
# 1.初始化递增的列表:
list1 = list(range(1, 11))
print(list1)
# [1,2,...,10]
# 2.初始化每项为0的一维列表:
list2 = [0] * 5
print(list2)
# [0,0,0,0,0]
# 3.初始化固定值的一维列表:
initVal = 1
listLen = 5
list3 = [initVal for col in range(listLen)]
# 同list3 = [initVal for i in range(listLen)]
print(list3)
# [1,1,1,1,1]
list4 = [initVal] * listLen
print(list4)
# [1,1,1,1,1]
二维列表
# 4.初始化一个3x5每项为0(固定值)的列表(推荐使用):
multiList1 = [[0 for col in range(5)] for row in range(3)]
print(multiList1)
# 5.初始化一个3x5每项为0(固定值)的列表
multiList2 = [[0] * 5 for row in range(3)]
print(multiList2)
补充
# 根据方法2,批量创建二维列表时,是否可以这样做呢:
# multiList = [[0] * 5] * 3
# 其实,这样做是不对的,因为[0] * 5是一个一维列表的对象,*3只是把对象的引用复制了3次。
# 比如,修改multi[0][0]:
multiList3 = [[0] * 5] * 3
multiList3[0][0] = 'Hello'
print(multiList3)
# 输出结果:
# [['Hello', 0, 0, 0, 0], ['Hello', 0, 0, 0, 0], ['Hello', 0, 0, 0, 0]]
# 修改了multi[0][0],却把multi[1][0],multi[2][0]也修改了。这不是想要的结果。
# 但是如下写法是正确的:
multiList4 = [[0] * 5 for row in range(3)]
multiList4[0][0] = 'Hello'
print(multiList4)
# 输出结果:
# [['Hello', 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
# 但是,由于使用 * 的方法比较容易引起混淆导致Bug,所以还是推荐使用上面方法4,即:
multiList5 = [[0 for col in range(5)] for row in range(6)]
更多推荐
已为社区贡献13条内容
所有评论(0)