37 Numpy数值计算基础--Numpy数组对象ndarray

  • 首先,理解Python中的数据类型。
    Python整数不仅仅是一个整数,因为标准的Python实现是用C编写的。
    这意味着每个Python对象都只是一个巧妙伪装的C结构,它不仅包含它的值,还包含其他信息。
    例如,当我们在Python中定义一个整数时,比如“x=10000”,“x”不只是一个“原始”整数。 它实际上是一个指向复合C结构的指针,它包含几个值。
    区别:一个C整数本质上是一个在内存中位置的标签,它是字节编码的一个整数值。Python整数是指向包含所有Python对象信息的内存位置的指针,包括包含整数值的字节。然而,在Python类型中,所有这些附加信息都是以成本为代价的,在组合了许多这些对象的结构 中,这一点变得尤为明显。

  • Python中的列表不仅仅是一个列表

l1 = list(range(10))  # 创建一个整形列表
print(l1)  # 输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(type(l1[0]))  # 输出<class 'int'>

l2 = [str(c) for c in l1]  # 创建一个字符串列表
print(l2)  # 输出['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
print(type(l2[0]))  # 输出<class 'str'>

l3 = [True, '2', 9.9, 10]
for item in l3:
    print(type(item))  # 输出<class 'bool'> <class 'str'> <class 'float'> <class 'int'>

在所有变量都是相同类型的情况下,大部分信息冗余。所以在固定类型的数组中存储数据会更有效。
在实现级别,数组本质上包含一个指向连续数据块的指针。另一方面,Python列表包含指向一个指针块的指针,每个指针都指向一个完整的Python对象,就像前面看到的Python整数。
固定类型的numpy样式的数组缺少这种灵活性,但是对于存储和操作数据来说更有效。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值