Python标准库Array的使用

array — 高效的数值数组
在这里插入图片描述

代码实验:

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import array
>>>
>>> arr = array.array('u','abcdef')
>>> arr
array('u', 'abcdef')
>>> arr[2]
'c'
>>> arr[1:5]
array('u', 'bcde')
>>>
>>>
>>> arr
array('u', 'abcdef')
>>>
>>> arr = array.array('i',[i**3 for i in range(10)])
>>> arr
array('i', [0, 1, 8, 27, 64, 125, 216, 343, 512, 729])
>>> arr[-2]
512
>>> type(arr[-2])
<class 'int'>
>>> type(512)
<class 'int'>
>>> arr[1:5]
array('i', [1, 8, 27, 64])
>>> type(arr[1:5])
<class 'array.array'>
>>> type(arr)
<class 'array.array'>
>>>
>>>
>>> arr = array.array('i',[i**3 for i in range(10)])
>>> arr
array('i', [0, 1, 8, 27, 64, 125, 216, 343, 512, 729])
>>> arr.append(-888)
>>> arr
array('i', [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, -888])
>>> arr.append(27)
>>> arr
array('i', [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27])
>>> arr.count(27)
2
>>> arr.count(729)
1
>>> arr.count(7)
0
>>> arr
array('i', [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27])
>>> arr.extend([-1,-2,-3,0])
>>> arr
array('i', [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, -3, 0])
>>> arr.fromlist([i**2 for i in range(3)])
>>> arr
array('i', [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, -3, 0, 0, 1, 4])
>>> arr.index(0)
0
>>> arr.index(8)
2
>>> arr.index(-1)
12
>>> arr
array('i', [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, -3, 0, 0, 1, 4])
>>> arr.insert(2,666)
>>> arr
array('i', [0, 1, 666, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, -3, 0, 0, 1, 4])
>>>
>>> # 查找不存在的元素
...
>>> arr.index(292)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: array.index(x): x not in array
>>> arr
array('i', [0, 1, 666, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, -3, 0, 0, 1, 4])
>>> arr.pop()
4
>>> arr
array('i', [0, 1, 666, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, -3, 0, 0, 1])
>>> arr.pop()
1
>>> arr
array('i', [0, 1, 666, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, -3, 0, 0])
>>> arr.pop()
0
>>> arr
array('i', [0, 1, 666, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, -3, 0])
>>> arr.pop()
0
>>> arr
array('i', [0, 1, 666, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, -3])
>>> arr.pop(-1)
-3
>>> arr
array('i', [0, 1, 666, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2])
>>> arr.pop(2)
666
>>> arr
array('i', [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2])
>>> arr.remove(8)
>>> arr
array('i', [0, 1, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2])
>>> arr.remove(8)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: array.remove(x): x not in array
>>> arr
array('i', [0, 1, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2])
>>> arr.fromlist([i**2 for i in range(3)])
>>> arr
array('i', [0, 1, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, 0, 1, 4])
>>> arr.remove(1)
>>> arr
array('i', [0, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, 0, 1, 4])
>>> arr.remove(999)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: array.remove(x): x not in array
>>> arr
array('i', [0, 27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, 0, 1, 4])
>>> arr.remove(0)
>>> arr
array('i', [27, 64, 125, 216, 343, 512, 729, -888, 27, -1, -2, 0, 1, 4])
>>> arr.remove(125)
>>> arr
array('i', [27, 64, 216, 343, 512, 729, -888, 27, -1, -2, 0, 1, 4])
>>> arr.reverse()
>>> arr
array('i', [4, 1, 0, -2, -1, 27, -888, 729, 512, 343, 216, 64, 27])
>>>
>>> arr.tolist()
[4, 1, 0, -2, -1, 27, -888, 729, 512, 343, 216, 64, 27]
>>> arr
array('i', [4, 1, 0, -2, -1, 27, -888, 729, 512, 343, 216, 64, 27])
>>> ls = arr.tolist()
>>> arr
array('i', [4, 1, 0, -2, -1, 27, -888, 729, 512, 343, 216, 64, 27])
>>> ls
[4, 1, 0, -2, -1, 27, -888, 729, 512, 343, 216, 64, 27]
>>> type(ls)
<class 'list'>
>>>
>>>
>>> arr = array.array('f',[i**0.5 for i in range(10)])
>>> arr
array('f', [0.0, 1.0, 1.4142135381698608, 1.7320507764816284, 2.0, 2.2360680103302, 2.4494898319244385, 2.6457512378692627, 2.8284270763397217, 3.0])
>>> arr[9]
3.0
>>> type(arr[9])
<class 'float'>
>>> type(3.1)
<class 'float'>
>>>
>>> arr = array.array('d',[i**0.5 for i in range(10)])
>>> arr
array('d', [0.0, 1.0, 1.4142135623730951, 1.7320508075688772, 2.0, 2.23606797749979, 2.449489742783178, 2.6457513110645907, 2.8284271247461903, 3.0])
>>> arr[9]
3.0
>>> arr[2]
1.4142135623730951
>>> type(arr)
<class 'array.array'>
>>> type(arr[2])
<class 'float'>
>>> arr
array('d', [0.0, 1.0, 1.4142135623730951, 1.7320508075688772, 2.0, 2.23606797749979, 2.449489742783178, 2.6457513110645907, 2.8284271247461903, 3.0])
>>> type(arr[9])
<class 'float'>
>>> arr[9]
3.0
>>> type(3.0)
<class 'float'>
>>>
>>>
>>>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 核心模块 o 1.1. 介绍 o 1.2. _ _builtin_ _ 模块 o 1.3. exceptions 模块 o 1.4. os 模块 o 1.5. os.path 模块 o 1.6. stat 模块 o 1.7. string 模块 o 1.8. re 模块 o 1.9. math 模块 o 1.10. cmath 模块 o 1.11. operator 模块 o 1.12. copy 模块 o 1.13. sys 模块 o 1.14. atexit 模块 o 1.15. time 模块 o 1.16. types 模块 o 1.17. gc 模块 2. 更多标准模块 o 2.1. 概览 o 2.2. fileinput 模块 o 2.3. shutil 模块 o 2.4. tempfile 模块 o 2.5. StringIO 模块 o 2.6. cStringIO 模块 o 2.7. mmap 模块 o 2.8. UserDict 模块 o 2.9. UserList 模块 o 2.10. UserString 模块 www.aibbt.com 让未来触手可及o 2.11. traceback 模块 o 2.12. errno 模块 o 2.13. getopt 模块 o 2.14. getpass 模块 o 2.15. glob 模块 o 2.16. fnmatch 模块 o 2.17. random 模块 o 2.18. whrandom 模块 o 2.19. md5 模块 o 2.20. sha 模块 o 2.21. crypt 模块 o 2.22. rotor 模块 o 2.23. zlib 模块 o 2.24. code 模块 3. 线程和进程 o 3.1. 概览 o 3.2. threading 模块 o 3.3. Queue 模块 o 3.4. thread 模块 o 3.5. commands 模块 o 3.6. pipes 模块 o 3.7. popen2 模块 o 3.8. signal 模块 4. 数据表示 o 4.1. 概览 o 4.2. array 模块 o 4.3. struct 模块 o 4.4. xdrlib 模块 o 4.5. marshal 模块 o 4.6. pickle 模块 o 4.7. cPickle 模块 o 4.8. copy_reg 模块 o 4.9. pprint 模块 o 4.10. repr 模块 o 4.11. base64 模块 o 4.12. binhex 模块 o 4.13. quopri 模块 o 4.14. uu 模块 o 4.15. binascii 模块 5. 文件格式 o 5.1. 概览 o 5.2. xmllib 模块 o 5.3. xml.parsers.expat 模块 o 5.4. sgmllib 模块 www.aibbt.com 让未来触手可及o 5.5. htmllib 模块 o 5.6. htmlentitydefs 模块 o 5.7. formatter 模块 o 5.8. ConfigParser 模块 o 5.9. netrc 模块 o 5.10. shlex 模块 o 5.11. zipfile 模块 o 5.12. gzip 模块 6. 邮件和新闻消息处理 o 6.1. 概览 o 6.2. rfc822 模块 o 6.3. mimetools 模块 o 6.4. MimeWriter 模块 o 6.5. mailbox 模块 o 6.6. mailcap 模块 o 6.7. mimetypes 模块 o 6.8. packmail 模块 o 6.9. mimify 模块 o 6.10. multifile 模块 7. 网络协议 o 7.1. 概览 o 7.2. socket 模块 o 7.3. select 模块 o 7.4. asyncore 模块 o 7.5. asynchat 模块 o 7.6. urllib 模块 o 7.7. urlparse 模块 o 7.8. cookie 模块 o 7.9. robotparser 模块 o 7.10. ftplib 模块 o 7.11. gopherlib 模块 o 7.12. httplib 模块 o 7.13. poplib 模块 o 7.14. imaplib 模块 o 7.15. smtplib 模块 o 7.16. telnetlib 模块 o 7.17. nntplib 模块 o 7.18. SocketServer 模块 o 7.19. BaseHTTPServer 模块 o 7.20. SimpleHTTPServer 模块 o 7.21. CGIHTTPServer 模块 o 7.22. cgi 模块 o 7.23. webbrowser 模块

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值