本篇文章將從多個方面詳細闡述Python中多維列表的生成方法。
一、基礎方法
Python中可以使用嵌套列表的方式實現多維列表的生成,例如:
multi_list = [[0 for col in range(3)] for row in range(4)]
print(multi_list)
# Output: [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
以上代碼通過列表推導式的方式,生成了一個4×3的二維列表。
但當需要生成的是更高維度的列表時,可以使用類似的方式嵌套多個列表推導式來實現:
multi_list = [[["" for i in range(3)] for j in range(4)] for k in range(2)]
print(multi_list)
# Output: [[['', '', ''], ['', '', ''], ['', '', ''], ['', '', '']], [['', '', ''], ['', '', ''], ['', '', ''], ['', '', '']]]
二、Numpy庫的使用
當需要生成的多維列表中需要進行大量的數學計算時,可以使用Numpy庫中提供的array或者zeros函數來生成多維數組。
import numpy as np
# 生成一個4x3的二維數組
arr2d = np.zeros((4, 3))
print(arr2d)
# Output: [[0., 0., 0.], [0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]
# 生成一個2x3x4的三維數組
arr3d = np.zeros((2, 3, 4))
print(arr3d)
# Output:
# [[[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]],
# [[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]]]
Numpy庫中還提供了一些用於隨機生成數組的函數,例如Random函數可以生成一些隨機數填入數組中。
三、Pandas庫的使用
Pandas庫是Python中一個非常常用的數據分析庫。在Pandas中,可以使用DataFrame函數來生成多維列表。
import pandas as pd
# 生成一個4x3的二維DataFrame
df = pd.DataFrame([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]])
print(df)
# Output:
# 0 1 2
# 0 0 1 2
# 1 3 4 5
# 2 6 7 8
# 3 9 10 11
# 生成一個2x3x4的三維DataFrame
df = pd.DataFrame(np.zeros((2, 3, 4)))
print(df)
# Output:
# 0 1 2 3
# 0 0 0.0 0.0 0.0 0.0
# 1 0.0 0.0 0.0 0.0
# 2 0.0 0.0 0.0 0.0
# 1 0 0.0 0.0 0.0 0.0
# 1 0.0 0.0 0.0 0.0
# 2 0.0 0.0 0.0 0.0
四、總結
Python中多維列表的生成方法可以通過基礎的嵌套列表推導式實現,也可以藉助Numpy庫或者Pandas庫中提供的函數來生成多維數組或者DataFrame,具體使用取決於多維列表的需求。
原創文章,作者:JOITQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/374735.html