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