首页
学习
活动
专区
圈层
工具
发布

perl等价的python array.array(typecode,..)

在Python中,array.array()是一个用于创建固定类型数组的内置类。它可以存储相同类型的数据,并且比列表更节省内存。typecode是一个字符,用于指定数组中元素的数据类型。

以下是一些常用的typecode及其对应的数据类型:

  • b:有符号字节
  • B:无符号字节
  • i:有符号整数
  • I:无符号整数
  • f:单精度浮点数
  • d:双精度浮点数

与Perl中的@array相比,Python中的array.array()更像是一个简化版的列表,只能存储相同类型的数据。

例如,在Perl中,你可以这样创建一个数组:

代码语言:perl
复制
my @array = (1, 2, 3, 4);

在Python中,你可以这样创建一个array.array()

代码语言:python
代码运行次数:0
复制
import array

array_obj = array.array('i', [1, 2, 3, 4])

在这个例子中,typecode'i',表示数组中的元素是有符号整数。

由于array.array()是一个内置类,因此它的性能通常比使用Python列表实现的数组要好。然而,它的功能比列表简单得多,不支持许多列表操作。

总之,array.array()是一个用于创建固定类型数组的内置类,它与Perl中的@array类似,但功能更为简单。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【测试开发】python系列教程:array库

上一篇 【测试开发】python系列教程:decimal库 这次我们分享python的array库 ---- array 模块定义了一种对象类型,可以紧凑的表示以 字符、整数、浮点数...array 模块在使用时,需要先实例化一个数组对象,然后再进行下一步操作: array.array(typecode[, initializer]) ''' 参数: typecode: 指定当前数组所能接受的元素数据类型...initializer: 可选参数, 数组初始化时添加的元素, 必须是可迭代对象, 元素的数据类型受参数 typecode 的限制 ''' typecode 参数的值是一个字符,这个字符被称为类型码...属性 array.typecode: 获取数组的类型码 array.itemsize: 获取在内部表示中一个元素的字节长度 import array test = array.array('u', '...这等价于 for x in list: a.append(x),区别在于如果发生类型错误,数组将不会被改变。

23520

Python之数组模块——array

数组模块array的大部分属性及方法的应用: import array #array.array(typecode,[initializer])——typecode:元素类型代码;initializer...arr = array.array('i',[0,1,1,2,3]) print(arr) #array.typecodes——模块属性 print('\n输出一条 包含所有可用类型代码的字符串:')...print(array.typecodes)#注意,调用者是模块名,不是某个对象 #array.typecode——对象属性 print('\n输出 用于创建数组的类型代码字符:') print(arr.typecode...用于创建数组的类型代码字符: i 输出 数组中一个元素的字节长度 4 将一个新值附加到数组的末尾: array('i', [0, 1, 1, 2, 3, 4]) 获取数组在存储器中的地址、元素的个数...参考地址: Python官方文档英文版之Array模块 Python官方文档中文版之Array模块

1.6K20
  • Python3之数组(array)

    https://docs.python.org/3.5/library/array.html#module-array 当我们需要1000万个浮点数的时候,数组(array)的效率要比列表...1.数组 如果我们需要一个只包含数字的列表,那么array.array比list更高效。数组支持所有跟可变序列有关的操作,包括.pop,.insert和.extend。...另外,数组还提供从文件读取和存入文件的更快的方法,如.frombytes和.tofile。 Python数组跟C语言数组一样精简。...另外+=和*=运算符可以用于array的添加。 从python3.4开始,数组(array)类型不再支持诸如list.sort()这种就地排序方法。...要给数组排序的话,得用sorted函数新建一个数组: >>> import array >>> a = array.array(a.typecode, sorted(a)) array 与内置list

    22.3K71

    用Python做投资-python仿真等价鞅下的收益曲线

    如果我们按照这样的次序下注:1,2,4,8,16,......,2^n.只要有一次获胜,那么我们就从头再来。这里我们可以看出,每次获胜都可以赢得1元钱。因为2^n次方的数列前n-1次项和为2^n-1。...这里我们就能看出,只要你有足够多的钱,那么你总能赚钱。这一游戏,就叫做等价鞅。..., winOrLossGenerator 函数用于产生size个输或者赢的序列。...每次运行的结果都是不一样的,我们取一次观察一下资金的变化情况。 ? 我们可以看到,这次仿真中,最大的资金回测大概在72元左右。我们修改一下获胜的概率,假设我们的硬币是不均匀的,而赌场中往往是这呀。...如果我们的获胜概率只有2,那么资金曲线是这样的: ? 获胜率为0.4,情况还马马虎虎 ? 获胜的概率为0.6: ? 获胜的概率为0.9的时候,资金曲线就比较平稳的向上了: ?

    93350

    Python、Perl 垫底,C语言才是最环保的编程语言!

    2017年,葡萄牙大学的研究人员团队曾发表过一篇题为《各种编程语言的能耗》的论文,他们比较了各个编程语言(及其编译器/解释器)的能耗,为此他们研究了 27 种知名编程语言的运行时、内存使用情况以及能耗。...最后,C 成为了无可争议的赢家,其能耗最低,而 Python 和 Perl 则处于最末位。 据悉,这项研究采用了多种方法论和多个基准测试。...Perl、Lua 和 Python能耗高 下面看一下解释型语言在速度与能耗方面的表现,由测试可知解释型语言才是能耗最高的语言,比如 Perl、Lua 和 Python。...而5 种最慢的语言也是解释型语言,如:Lua、Python、Perl、Ruby 和 Type。...参考链接: https://www.cnx-software.com/2021/11/18/save-the-planet-program-in-c-avoid-python-perl/

    1.5K30

    Python骚操作从列表推导和生成器表达式开始

    扁平序列存放的是对象的值,包括str、bytes、bytearray、memoryview和array.array。 扁平序列的值是字符、字节和数值这种基础类型。...可变序列,包括list、bytearray、array.array、collection.deque、memoryview。...Tips 本小节内容是我看《流畅的Python》第一遍时记录的知识点: Python标准库用C实现了丰富的序列类型。 列表推导,就是指a = [x for x in something]这种写法。...array.array('I', x for x in something) ,array构造方法的第一个参数指定了数组中数字的存储方式。...小结 本文首先介绍了序列的概念,然后演示了Python常规骚操作——列表推导,最后引出了生成器表达式这个看似复杂实则简单的语法。列表是可变的,它有个不可变的孪生兄弟,元组。

    59240

    流畅的Python 2. 数据结构 - 序列构成的数组

    array.array 只能存一种类型,存放的是值(只能存字符、字节、数值这种基础类型) ---- 按照是否可修改: 可变序列:list,bytearray,array.array,collections.deque...$¢£¥€¤' print(tuple(ord(symbol) for symbol in symbols)) import array print(array.array('I', (ord(symbol...) for symbol in symbols))) # ord(symbol) 外面需要括号,因为array需要2个构造参数 # typecode (must be b, B, u, h, H, i,...traveler_ids): print('{}/{}'.format(passport[0], passport[1])) print('%s/%s' % passport) # 跟上面的等价...列表的替代 9.1 数组 只包含数字的列表,array.array 比 list 更高效,支持所有可变序列的操作 还可以 从文件读取 和 存入文件,.frombytes,.tofile # 数组 from

    53920

    Python如何设计面向对象的类(上)

    Python是一门高级语言,支持面向对象设计,如何设计一个符合Python风格的面向对象的类,是一个比较复杂的问题,本文提供一个参考,表达一种思路,探究一层原理。...覆盖类属性 实例覆盖 Python有个很独特的特性:类属性可用于为实例属性提供默认值。实例代码中的typecode就能直接被self.typecode拿到。...但是,如果为不存在的实例属性赋值,会新建实例属性,类属性不会受到影响,self.typecode拿到的是实例属性的typecode。...但是更符合Python风格的做法是定义子类: class ShortVector2d(Vector2d): typecode = 'f' Django基于类的视图大量使用了这个技术。...参考资料: 《流畅的Python》第9章 符合Python风格的对象 https://www.jianshu.com/p/7fc0a177fd1f

    1.1K30

    python 自定义类(特殊方法)

    覆盖类属性 learn from 《流畅的python》 from array import array import math class Vector2D: typecode = 'd'..._Vector2D__x) # 315687.0 名称改写是一种安全措施,不能保证万无一失:它的目的是避免意外访问,不能防止故意做错事 Python 解释器不会对使用 单个下划线 的属性名做特殊处理...,不过这是很多 Python 程序员严格遵守的约定,他们不会在类外部访问这种属性。...# d print(v2.typecode) # f typecode 是类属性,一旦实例对象赋值 typecode后,实际是创建了新的实例属性 如果为不存在的 实例属性 赋值,会 新建 实例属性,类属性不受影响...,但是实例属性会遮盖同名类属性 还可以订制类的数据属性: class anOtherVec(Vector2D): typecode = 'f' # 只是修改子类的数据类型 v4 = anOtherVec

    69540

    python变量和变量赋值的几种形式

    例如: a, b, c, d = ("shell","perl","php","python") a, b, c, d = ["shell","perl","php","python"] 但是变量和序列中的元素必须一一对应...正如这里等价于: a="l" b=["o", "n", "g"] 下面两种赋值方式得到的结果是一样的,a是字符串,b是列表,b都包含3个元素: a, *b = ("shell","perl","php"...,"python") a, *b = ["shell","perl","php","python"] 赋值的结果: shell ['perl', 'php', 'python'] (6)的赋值方式等价于...在很大程度上来说,Python中只要是简化的形式,基本上都比更复杂的等价形式效率更高。...而(2)(3)是等价的,(5)(6)也是等价的,它们都是直接在内存中的原始列表处修改,不会有拷贝操作,新建的数据对象仅仅只是一个元素。

    3.1K20

    因为对Perl和Python不满?圣诞节无聊?编程语言的出现都这么随意吗?

    脚本语言:Perl Perl 发布于 1987 年。 Perl 起源于操作系统的控制台(shell)的命令。...面向对象解释式脚本语言:Python Python 诞生于 1989 年,作者为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。 ABC 是作者开发的教学语言。...Python 和 Perl 用于相同领域,是面向过程+面向对象语言。 A.26....纯面向对象解释式脚本语言:Ruby Ruby 诞生于 1996 年,作者基于对 Perl 和 Python 的不满而设计,的纯面向对象脚本语言。...最新版本是 2014 发布的 C#5.0。.NET 4.0 引入了动态类型,使得.NET 平台可以嵌入动态语言,比如:Lisp、Python、 Ruby 等。 A.30.

    1.8K60

    python 进程间通信(四) -- 共享内存与服务器进程

    引言 此前的几篇文章中,我们介绍了 python 进程间通信的一系列方案: python 进程间通信(一) — 信号的基本使用 python 进程间通信(二) — 定时信号 SIGALRM python...共享内存 共享内存是进程间共享数据最简单的方式,python 中有两个方法来创建共享的数据对象,分别是: Value(typecode_or_type, *args, lock=True) — 开辟共享内存空间存储值类型...Array(typecode_or_type, size_or_initializer, *, lock=True) — 开辟共享内存空间存储数组类型 对于 Value 对象,我们需要通过他的 value...3.1. typecode_or_type 参数 typecode_or_type 既可以是一个描述类型的字符串,也可以是一个ctypes 包中定义的枚举。...下表列出了可以选取的取值: typecode_or_type 参数取值 ctypes 枚举 字符串 说明 py_object ‘O’ python 对象 c_short ‘h’ 系统中的 short 类型

    4.8K20

    交个朋友

    加入HAI高性能应用服务器交流群
    探索HAI应用新境界 共享实践心得
    加入架构与运维学习入门群
    系统架构设计入门 运维体系构建指南
    加入架构与运维工作实战群
    高并发系统设计 运维自动化实践
    换一批

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券
      首页
      学习
      活动
      专区
      圈层
      工具
      MCP广场