您的位置:首页 > 编程语言 > Python开发

Python——“元组、列表、字典、数组和矩阵”的大小问题

2017-11-19 14:03 585 查看
在实际应用中,通常需要求取元组、列表、字典、数组或矩阵的大小,为了便于以后应用上的方便,总结归纳如下:

(1)数组和矩阵的大小

import numpy as np

A = np.random.randint(1,100,size = (4,5))
A


array([[56, 96, 27, 38, 33],
[86, 64, 52, 21, 66],
[97, 84, 94, 20, 82],
[65, 17, 77,  9, 17]])


B = np.random.randint(1,100,size = (1,5))
B


array([[66, 90, 49, 75, 11]])


1)使用size方法/函数

数组用例

A.size         #数组A是4行5列,即总共20个元素


20


np.size(A)


20


len(A)        #如果采用len()是无法获取整个数组或者矩阵的元素个数的。但是可以计算数组的行数,相当于A.shape[0]


4


A.shape[0]


4


矩阵用例

4000

C = np.mat(A)
C


matrix([[56, 96, 27, 38, 33],
[86, 64, 52, 21, 66],
[97, 84, 94, 20, 82],
[65, 17, 77,  9, 17]])


C.size


20


np.size(C)


20


len(C)


4


(2)列表的大小

import numpy as np

D = [1,2,3,4,5]
D


[1, 2, 3, 4, 5]


D.size


---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-31-0fe167b3857b> in <module>()
----> 1 D.size

AttributeError: 'list' object has no attribute 'size'


np.size(D)


5


len(D)


5


(3)元组的大小

import numpy as np

E = (1,2,3,4,5)
E


(1, 2, 3, 4, 5)


E.size


---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-35-1a7fda531ae5> in <module>()
----> 1 E.size

AttributeError: 'tuple' object has no attribute 'size'


np.size(E)


5


len(E)


5


(4)字典的大小

import numpy as np

A = {"a":1,"b":2,"c":3,"d":4}    #包含4个键值对
A


{'a': 1, 'b': 2, 'c': 3, 'd': 4}


A.size


---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-5-0c1207b28e02> in <module>()
----> 1 A.size

AttributeError: 'dict' object has no attribute 'size'


np.size(A)     #无法获取字典的大小


1


len(A)             #len(A)可以正确获取字典大小


4


(4)总结

数据结构求“元素数”的方法备注
数组和矩阵A.size或np.size(A)若A是秩为1的数组,则可以采用len(A);若A不是秩为1的数组,则采用len(A)相当于A.shape[0],求行数
元组np.size(A)或len(A)A.size不可行,报错
列表np.size(A)或len(A)A.size不可行,报错
字典len(A)A.size报错,np.size(A)取值不对,均不可行
通常情况下,列表、元组、字典采用len(A),而数组、矩阵采用np.size(A)或A.size
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: