• 【转】python之模块array


    【转】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
            ' x00x00x00x02x00x00x00 x00x00x00x04x00x00x00'

         |  •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

  • 相关阅读:
    JavaScript基本语法2
    JavaScript的基本语法
    在网页中加入神奇的效果
    一个由表单构成的页面
    进程理论要点
    TCP大文件上传与UDP协议
    socket编程相关阐述
    网络编程
    魔法方法
    元类与单例解析
  • 原文地址:https://www.cnblogs.com/langqi250/p/10251837.html
Copyright © 2020-2023  润新知