【转】python之模块array

>>> import array#定义了一种序列数据结构
>>> help(array)  
  #创建数组,相当于初始化一个数组,如:d={},k=[]等等
array(typecode [, initializer]) -- create a new array
  #a=array.array('c'),决定着下面操作的是字符,并是单个字符
  #a=array.array('i'),决定着下面操作的是整数
| Attributes:
|
| typecode -- the typecode character used to create the array
| itemsize -- the length in bytes of one array item
|
| Methods defined here:
| •append(...)
| append(x)
| #向array数组添加一个数值value
| Append new value x to the end of the array.

        >>> a=array.array('i')#整数,b与i类似
        >>> a.append(8)
        >>> a.append(81)
        >>> a
        array('i', [8, 81])#构成list 

        >>> a=array.array('c')#单个字符

        >>> a.append('g')
        >>> a.append('g')
        >>> a
        array('c', 'gg')#单个字符连接

        >>> a=array.array('u')#Unicode character,意味着下面将要输入的是unicode字符串.
        >>> a.append(u'x')#不要漏掉u
        >>> a.append(u'x')
        >>> a
        array('u', u'xx')

|
| •buffer_info(...)
| buffer_info() -> (address, length)#当前内存地址和数组长度
       #返回一个元组(地址,长度),给出了当前的内存地址和用于存储数组内容的缓冲区的长度

        >>> a.buffer_info()
        (19225728, 7)

     |      Return a tuple (address, length) giving the current memory address and
| the length in items of the buffer used to hold array's contents
| The length should be multiplied by the itemsize attribute to calculate
| the buffer length in bytes.
|
| byteswap(...)
| byteswap()
|
| Byteswap all items of the array. If the items in the array are not 1, 2,
| 4, or 8 bytes in size, RuntimeError is raised.
|
| •count(...)
| count(x)    #统计array数组中某个元素(x)的个数.

        >>> a
        array('i', [9, 2, 9, 4, 10, 10, 10])
        >>> a.count(10)
        3
        >>> a.count(9)
        2

     |      Return number of occurrences of x in the array.
|
| •extend(...)
| extend(array or iterable)  #参数接受 数组和可迭代对象

        >>> a
        array('i', [9, 2, 9, 4, 10, 10, 10])
        >>> a.extend([3,5])
        >>> a
        array('i', [9, 2, 9, 4, 10, 10, 10, 3, 5])

        #如果添加整数会出现什么错误?

        >>> a.extend(10)

        Traceback (most recent call last):
        File "<pyshell#131>", line 1, in <module>
        a.extend(10)
        TypeError: 'int' object is not iterable  #int不是可迭代对象

     |      Append items to the end of the array.#在末尾添加数组或可迭代对象
|
| fromfile(...)
| fromfile(f, n)
|
| Read n objects from the file object f and append them to the end of the
| array. Also called as read.
|
| fromlist(...)
| fromlist(list)
|
| Append items to array from list.
|
| fromstring(...)
| fromstring(string)
|
| Appends items from the string, interpreting it as an array of machine
| values,as if it had been read from a file using the fromfile() method).
|
| fromunicode(...)
| fromunicode(ustr)
|
| Extends this array with data from the unicode string ustr.
| The array must be a type 'u' array; otherwise a ValueError
| is raised. Use array.fromstring(ustr.decode(...)) to
| append Unicode data to an array of some other type.
|
| index(...)
| index(x)
|
| Return index of first occurrence of x in the array.
|
| •insert(...)
| insert(i,x)  #在i的位置插入一个新的item在array中
|
| Insert a new item x into the array before position i.
|
| •pop(...)
| pop([i])

        >>> a=array.array('i')
        >>> a.append(2)
        >>> a.append(9)
        >>> a.append(3)
        >>> a
        array('i', [2, 9, 3])
        >>> a.pop()#默认删除索引为-1的元素,最后一个元素,如果传参数则按参数索引来删除元素.
        3
        >>> a
        array('i', [2, 9])

     |      Return the i-th element and delete it from the array. i defaults to -1.
|
| read(...)
| fromfile(f, n)
|
| Read n objects from the file object f and append them to the end of the
| array. Also called as read.
|
| •remove(...)
| remove(x)#删除指定元素,x为需要删除的元素.
| Remove the first occurrence of x in the array.
|
| reverse(...)
| reverse()
|
| Reverse the order of the items in the array.
|
| tofile(...)
| tofile(f)
|
| Write all items (as machine values) to the file object f. Also called as
| write.
|
| •tolist(...)
| tolist() -> list

        a=array('i', [9, 2, 9, 4, 10, 10, 10, 3, 5])
        >>> a.list()

        a.list()
        AttributeError: 'array.array' object has no attribute 'list'#array.array没有list属性
        >>> a.tolist()
        [9, 2, 9, 4, 10, 10, 10, 3, 5]

     |      Convert array to an ordinary list with the same items.
|
| •tostring(...)
| tostring() -> string

        array('i', [9, 2, 9, 4])
        >>> a.tostring()    #转化为string
        '\t\x00\x00\x00\x02\x00\x00\x00\t\x00\x00\x00\x04\x00\x00\x00'

     |  •tounicode(...)
| tounicode() -> unicode #将unicode的array数组,转化为unicode string字符串。

        >>> a=array.array('u')
        >>> a.append(u'xiaodeng')

        a.append(u'xiaodeng')
        TypeError: array item must be unicode character
        >>> a.append(u'x')
        >>> a.append(u'i')
        >>> a.tounicode()
        u'xi'

|
| write(...)
| tofile(f)
|
| Write all items (as machine values) to the file object f. Also called as
| write.
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| itemsize
| the size, in bytes, of one array item
|
| typecode
| the typecode character used to create the array
|
| ----------------------------------------------------------------------

Type code   C Type         Minimum size in bytes#最小字节大小
'c'      character (字符,单个字符)       1
'b'      signed integer     1
'B'      unsigned integer    1
'u'      Unicode character   2
'h'      signed integer     2
'H'      unsigned integer    2
'i'      signed integer     2
'I'      unsigned integer    2
'l'      signed integer     4
'L'      unsigned integer    4
'f'      floating point     4
'd'      floating point     8

【转】python之模块array的更多相关文章

  1. python之模块array

    >>> import array#定义了一种序列数据结构 >>> help(array) #创建数组,相当于初始化一个数组,如:d={},k=[]等等 array( ...

  2. python序列化模块json和pickle

    序列化相关 1. json 应用场景: json模块主要用于处理json格式的数据,可以将json格式的数据转化为python的字典,便于python处理,同时也可以将python的字典或列表等对象转 ...

  3. Python常用模块之sys

    Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...

  4. python 各模块

    01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...

  5. Python常用模块之json模块

    常用模块: 一个Python文件就是一个模块 import xxx 1. 标准模块,Python自带的,如time/random 2. 第三方模块,如连接mysql,需要安装 3. 自己写的Pytho ...

  6. python 序列化模块之 json 和 pickle

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,支持不同程序之间的数据转换.但是只能转换简单的类型如:(列表.字典.字符串. ...

  7. (转)python collections模块详解

    python collections模块详解 原文:http://www.cnblogs.com/dahu-daqing/p/7040490.html 1.模块简介 collections包含了一些特 ...

  8. 5.Python使用模块

    1.模块的 作用 2.模块的含义 3.模块的 导入  因此模块能够划分系统命名空间,避免了不同文件的变量重名的问题.                 Python的模块使得独立的文件连接成了一个巨大 ...

  9. python multiprocessing模块

    python multiprocessing模块 原文地址 multiprocessing multiprocessing支持子进程.通信和共享数据.执行不同形式的同步,提供了Process.Queu ...

随机推荐

  1. mac/Linux源码安装TensorFlow

    因为用pip命令直接下载安装会链接到google,导致打不开,比如使用pip install tensorflow碰到如下的问题.因此在本文中,主要介绍了如何通过源码进行TensorFlow的安装 $ ...

  2. VirtualBox使用入门

    VirtualBox使用入门 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能玩虚拟机的人多少是懂点运维的,因此我就不跟大家介绍啥事虚拟化了.关于虚拟化产品大家用的应该也都大同小异 ...

  3. 2、JPA-Annotation

    注解放在类属性上不生效时可放在get方法上试试,原因未知 @Entity /** * @Entity 该Java类为实体类,将映射到数据库表.如声明一个实体类 Customer,它将映射到数据库中的 ...

  4. STM32学习笔记:【001】时钟树与RCC

    导言 如果学过单片机的同学应该不会陌生,学习51单片机时最经常听到的就是“最小系统”. 最小系统里面少不了晶振,否则单片机无法工作. 单片机需要晶振(时钟源)来工作,那么对于STM32芯片同样如此. ...

  5. 使用 highlight.js 在网页中高亮显示java 代码 【原】

    <html> <head> <meta charset="UTF-8"> <script src="http://apps.bd ...

  6. POJ 3070(求斐波那契数 矩阵快速幂)

    题意就是求第 n 个斐波那契数. 由于时间和内存限制,显然不能直接暴力解或者打表,想到用矩阵快速幂的做法. 代码如下: #include <cstdio> using namespace ...

  7. ssm+maven+pageHelper搭建maven项目实现快速分页

    ssm+maven+pageHelper搭建maven项目实现快速分页 PageHelper分页使用: 插件的环境引入: 1.pom文件中引入分页插件的资源位置: <dependency> ...

  8. 自学python 8.

    1.有如下文件,a1.txt,里面的内容为:LNH是最好的培训机构,全心全意为学生服务,只为学生未来,不为牟利.我说的都是真的.哈哈分别完成以下的功能:a,将原文件全部读出来并打印.b,在原文件后面追 ...

  9. 细说shiro之自定义filter

    写在前面 我们知道,shiro框架在Java Web应用中使用时,本质上是通过filter方式集成的. 也就是说,它是遵循过滤器链规则的:filter的执行顺序与在web.xml中定义的顺序一致,如下 ...

  10. kudu系列: Java API使用和效率测试

    Kudu+Impala很适合数据分析, 但直接使用Insert values语句往Kudu表插入数据, 效率实在不好, 测试下来insert的速度仅为80笔/秒. 原因也是显然的, Kudu本身写入效 ...