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

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

(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
  • 矩阵用例
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

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的数组大小可以通过不同的方法来求取。一个常见的方法是使用NumPy库中的函数来获取数组大小。在引用中,使用了NumPy库中的random.randint函数生成了一个4行5列的二维数组A,以及一个1行5列的二维数组B。可以通过A.shape和B.shape属性分别获取到数组A和数组B的大小。具体代码如下: A.shape:(4, 5) B.shape:(1, 5) 另外,如果我们有一个普通的Python二维数组,如引用中的arr,可以使用len函数来获取该数组大小。len(arr)将返回数组的行数,而len(arr)将返回数组的列数。对于arr,可以得到其大小为5行3列。 所以,根据上述介绍,Python数组大小可以通过NumPy库中的shape属性或普通Python数组中的len函数来求取。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python——“元组列表字典数组矩阵”的大小问题](https://blog.csdn.net/zenghaitao0128/article/details/78574131)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python: 求数组的行列大小](https://blog.csdn.net/A_zhangpengjie/article/details/107685095)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Python笔记.docx](https://download.csdn.net/download/bxy0806/88235414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值