Python 如何找到列表的高度

Python 如何找到列表的高度,python,list,multidimensional-array,Python,List,Multidimensional Array,我知道len(p)返回一个列表的宽度,但在这种情况下,如何得到列表的高度,即3 列表中没有“高度”这个词。您的意思可能是“当我们选择将矩阵表示为列表列表时,矩阵的高度是多少?”?(旁注:有许多方法可以表示矩阵。) 您可以选择第一排: p = [[0,0],[0,0],[0,0]]. 但是如果您有[],就会遇到错误,因此您需要的是: len(p[0]) (其他需要记住的事情:如果可以接受Nx0矩阵表示为[[]、[]、[]、[]、…]。我会说不。[]是如何表示空矩阵的?我会说是。但是一些库,如n

我知道len(p)返回一个列表的宽度,但在这种情况下,如何得到列表的高度,即3

列表中没有“高度”这个词。您的意思可能是“当我们选择将矩阵表示为列表列表时,矩阵的高度是多少?”?(旁注:有许多方法可以表示矩阵。)

您可以选择第一排:

p = [[0,0],[0,0],[0,0]].
但是如果您有
[]
,就会遇到错误,因此您需要的是:

len(p[0])

(其他需要记住的事情:如果可以接受Nx0矩阵表示为
[[]、[]、[]、[]、…]
。我会说不。
[]
是如何表示空矩阵的?我会说是。但是一些库,如
numpy
选择不同:
numpy.matrix([]).tolist()
[]
numpy.matrix([[],[],[])
-->
矩阵([],shape=(3,0),dtype=float64)

没有列表的“高度”。您的意思可能是“当我们选择将矩阵表示为列表列表时,矩阵的高度是多少?”?(旁注:有许多方法可以表示矩阵。)

您可以选择第一排:

p = [[0,0],[0,0],[0,0]].
但是如果您有
[]
,就会遇到错误,因此您需要的是:

len(p[0])

(其他需要记住的事情:如果可以接受Nx0矩阵表示为
[[]、[]、[]、[]、…]
。我会说不。
[]
是如何表示空矩阵的?我会说是。但是一些库,如
numpy
选择不同:
numpy.matrix([]).tolist()
[]
numpy.matrix([[],[],[])
-->
矩阵([],形状=(3,0),dtype=float64)

正如其他评论者和答案所提到的,长度和高度的定义并不明确。这一切归结为测量多维数组的维数

len(p[0]) if len(p)!=0 else 0
。。。等等

通常,您可以通过如下函数测量第n维:

size_of_the_first_dimension = len(p) # length?
size_of_the_second_dimension = max([len(a) for a in p]) # height?
size_of_the_third_dimension = max([len(b) for a in p for b in a]) # depth?
size_of_the_fourth_dimension = max([len(c) for a in p for b in a for c in b]) # colour?
def度量(维度、矩阵、聚合器=最大值):
如果维度>>测量(3、[[1,2]、[4]、[[3,4,5]、[[3,2]、[1,2,3,4,5]、[1,2,3,4,5]、[[[]))
5.

如果您对维度大小的定义不同,则可以使用
max
或其他(作为第三个参数传入)来代替
min

正如其他评论者和答案所提到的,长度和高度的定义并不明确。这一切归结为测量多维数组的维数

len(p[0]) if len(p)!=0 else 0
。。。等等

通常,您可以通过如下函数测量第n维:

size_of_the_first_dimension = len(p) # length?
size_of_the_second_dimension = max([len(a) for a in p]) # height?
size_of_the_third_dimension = max([len(b) for a in p for b in a]) # depth?
size_of_the_fourth_dimension = max([len(c) for a in p for b in a for c in b]) # colour?
def度量(维度、矩阵、聚合器=最大值):
如果维度>>测量(3、[[1,2]、[4]、[[3,4,5]、[[3,2]、[1,2,3,4,5]、[1,2,3,4,5]、[[[]))
5.

如果尺寸的定义不同,可以使用
min
或其他参数(作为第三个参数传入),而不是
max

您需要解释宽度和高度的含义。在您的示例中,len(p)是3。python的一个有趣方面是,当您有一个列表列表时,不需要每个子列表都具有相同的长度。例如,您可以有[[0,0]、[0,0]、[0]]。在这种情况下,您需要做一些额外的检查,以确保您得到了正确的内部列表的长度。@user1050548:最后一条注释听起来比Python更像。您需要解释宽度和高度的含义。在您的示例中,len(p)是3。python的一个有趣方面是,当您有一个列表列表时,不需要每个子列表都具有相同的长度。例如,您可以有[[0,0]、[0,0]、[0]]。在这种情况下,您需要做一些额外的检查,以确保您得到了正确的内部列表的长度。@user1050548:最后一条注释听起来比Python更像。