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