博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编号001:deque用法暂时总结
阅读量:5062 次
发布时间:2019-06-12

本文共 4746 字,大约阅读时间需要 15 分钟。

#deque的用法总结In [1]:"""所在地址:from collections import deque现在知道的情况总结:    1.deque的用法与list的操作很像        1.队列增加数据3种方式:append(left), insert, extend(left)。        2.删除数据2种方式:remove, pop(left)。需要注意返回值,remove删除的是第一个匹配项返回删除后的列表,pop删除后返回删除的元素        3.统计元素个数1种方式:count(argv)。        4.查找元素位置1种方式:index(argv)。找不到的时候结果怎样?        5.排序1种方式:reverse。    2.特性:用来保留历史数据,用来保留最新的5个数据,其他的更久的数据不保存。        1.参数设定:deque(maxlen=5), maxlen必须要指定。        2.没有指定参数时deque的处理方式与list类似,可以无穷大        """#方法操作如下:from collections import dequeIn [6]:#增加元素方式:​#1. appenddef append_test001():    append_test = deque()    append_test.append("appent_test_001")    print("增加第一个元素")    print(append_test)    append_test.append("appent_test_002")    print("增加第二个元素")    print(append_test)    append_test.appendleft("appent_test_left_001")    print("在开头增加元素")    print(append_test)    print("##append_test001:")    print(append_test)    append_test001()    增加第一个元素deque(['appent_test_001'])增加第二个元素deque(['appent_test_001', 'appent_test_002'])在开头增加元素deque(['appent_test_left_001', 'appent_test_001', 'appent_test_002'])##append_test001:deque(['appent_test_left_001', 'appent_test_001', 'appent_test_002'])In [10]:#2. insertdef insert_test001():    insert_test = deque()    insert_test.insert(0,"insert001")      #注意insert需要传递两个参数,其中第一个参数是需要插入的位置    print(insert_test)    insert_test001()deque(['insert001'])In [14]:#3. extenddef extend_test001():    extend_test = deque()    extend_test.extend([1,2,3])    print("在右侧追加:")    print(extend_test)    extend_test.extendleft([4,5,6,6])    print("在左侧追加:")    print(extend_test)    extend_test001()在右侧追加:deque([1, 2, 3])在左侧追加:deque([6, 6, 5, 4, 1, 2, 3])In [16]:#4. removedef remove_test001():    remove_test = deque()    remove_test.extend([1,23,4,45,1,2,2,4])    print("最原始的remove_test:")    print(remove_test)    remove_test.remove(1)    print("删除其中一个元素1后:")    print(remove_test)    print("准备删除一个不存在的元素9:")    remove_test.remove(9)    print(remove_test)remove_test001()最原始的remove_test:deque([1, 23, 4, 45, 1, 2, 2, 4])删除其中一个元素1后:deque([23, 4, 45, 1, 2, 2, 4])准备删除一个不存在的元素9:---------------------------------------------------------------------------ValueError                                Traceback (most recent call last)
in
() 11 remove_test.remove(9) 12 print(remove_test)---> 13 remove_test001()
in remove_test001() 9 print(remove_test) 10 print("准备删除一个不存在的元素9:")---> 11 remove_test.remove(9) 12 print(remove_test) 13 remove_test001()ValueError: deque.remove(x): x not in dequeIn [22]:#5. popdef pop_test001(): pop_test = deque() pop_test.extend([1,2,4,5,65,6,7,7]) print("删除前:") print(pop_test) a = pop_test.pop() print("查看返回值:") print(a) print("执行一次pop后:") print(pop_test) b = pop_test.popleft() print("执行一次popleft") print("查看返回值") print(b) print("删除后的结果:") print(pop_test) #下面的代码是警告自己,pop没有参数指定 print("删除一个不存在的元素10:") pop_test.pop(10) print(pop_test) pop_test001()删除前:deque([1, 2, 4, 5, 65, 6, 7, 7])查看返回值:7执行一次pop后:deque([1, 2, 4, 5, 65, 6, 7])执行一次popleft查看返回值1删除后的结果:deque([2, 4, 5, 65, 6, 7])In [26]:#6. count, indexdef count_test001(): count_test = deque() count_test.extend([1,2,3,4,5,6,62,2,1,2]) print("初始值:") print(count_test) print("统计1得数目") print(count_test.count(1)) print("统计一个不存在元素:10") print(count_test.count(10)) print("获取62所在位置") print(count_test.index(62)) print("获取一个不存在得元素得位置:10") print(count_test.index(10)) count_test001()初始值:deque([1, 2, 3, 4, 5, 6, 62, 2, 1, 2])统计1得数目2统计一个不存在元素:100获取62所在位置6获取一个不存在得元素得位置:10---------------------------------------------------------------------------ValueError Traceback (most recent call last)
in
() 14 print(count_test.index(10)) 15 ---> 16 count_test001()
in count_test001() 12 print(count_test.index(62)) 13 print("获取一个不存在得元素得位置:10")---> 14 print(count_test.index(10)) 15 16 count_test001()ValueError: 10 is not in dequeIn [30]:#7. reversedef reverse_test001(): reverse_test = deque() reverse_test.extend([1,2,3,5,67,1,23,5,23,2,3,4]) print("最开始的数据:") print(reverse_test) reverse_list = reverse_test.reverse() print("reverse后的返回值:") print(reverse_list) print("原deque:") print(reverse_test) reverse_test001()最开始的数据:deque([1, 2, 3, 5, 67, 1, 23, 5, 23, 2, 3, 4])reverse后的返回值:None原deque:deque([4, 3, 2, 23, 5, 23, 1, 67, 5, 3, 2, 1])In [32]:#8. 保留最新5个数据def leave_last_data(): leave_data = deque(maxlen=5) leave_data.extend([1,2,3,4,5,6,7,7]) print(leave_data) leave_last_data()deque([4, 5, 6, 7, 7], maxlen=5)In [ ]:​

 

转载于:https://www.cnblogs.com/tanghuang/p/8608577.html

你可能感兴趣的文章
PIGOSS
查看>>
几款Http小服务器
查看>>
iOS 数组排序
查看>>
第三节
查看>>
PHP结合MYSQL记录结果分页呈现(比较实用)
查看>>
Mysql支持的数据类型
查看>>
openSuse beginner
查看>>
Codeforces 620E(线段树+dfs序+状态压缩)
查看>>
Windows7中双击py文件运行程序
查看>>
Market entry case
查看>>
bzoj1230 开关灯 线段树
查看>>
LinearLayout
查看>>
css3动画属性
查看>>
Mongodb 基本命令
查看>>
控制文件的备份与恢复
查看>>
PHP的SQL注入技术实现以及预防措施
查看>>
软件目录结构规范
查看>>
mysqladmin
查看>>
解决 No Entity Framework provider found for the ADO.NET provider
查看>>
设置虚拟机虚拟机中fedora上网配置-bridge连接方式(图解)
查看>>