一般来说一维/二维列表都是比较常见的,但是最近在刷动态规划算法题目的时候发现需要创建三维或者四维的列表。其实python创建多维列表都可以在创建二维列表的基础上延伸创建的。例如创建值全为0的3 * 4二维列表为:[[0] * 4 for i in range(3)],而创建三维列表可以在二维列表的基础上添加上左右括号并且增加多一个for循环即可:[[[0] * 5 for i in range(4)] for j in range(3)],创建的是3 * 4 * 5的三维列表...依次类推对于四维....n维的列表也是这样创建的,在创建的时候需要逆序确定每一维度的长度大概是多少。(例如2 * 3二维列表为:[[0] * 3 for i in range(2)],创建2 * 3 * 4的三维列表那么在二维列表的基础上[[0] * 4 for i in range(3)] (逆序)最外面添加一对括号,然后在最右边括号的左边位置添加上for循环即可:[[[0] * 4 for i in range(3)] for j in range(2)])
if __name__ == '__main__':
# 都是在二维列表的基础上进行创建, 添加左右括号然后添加多一个for循环, 逆序创建对应的维度即可
# 创建2 * 3的二维列表
dp = [[0] * 3 for i in range(2)]
print(dp)
# 创建2 * 3 * 4的三维列表
dp = [[[0] * 4 for i in range(3)] for j in range(2)]
print(dp)
# 创建2 * 3 * 4 * 5的四维列表
dp = [[[[0] * 5 for i in range(4)] for j in range(3)] for k in range(2)]
print(dp)