Python中的Deque(双端队列)是使用以下模块实现的: 收藏 “.Deque比a更受欢迎 列表 在需要从容器两端进行更快的追加和弹出操作的情况下,deque提供了 O(1) 与提供O(n)时间复杂度的列表相比,追加和弹出操作的时间复杂度。
null
例子:
Python3
# Python code to demonstrate deque from collections import deque # Declaring deque queue = deque([ 'name' , 'age' , 'DOB' ]) print (queue) |
输出:
deque(['name', 'age', 'DOB'])
让我们看看deque上的各种操作:
- 附加() :-此函数用于 插入 其参数中的值 右端 德克家族的。
- 附录左() :-此函数用于 插入 其参数中的值 左端 德克家族的。
- pop() :-此函数用于 删去 来自政府的争论 右端 德克家族的。
- popleft() :-此函数用于 删去 来自政府的争论 左端 德克家族的。
Python3
# Python code to demonstrate working of # append(), appendleft(), pop(), and popleft() # importing "collections" for deque operations import collections # initializing deque de = collections.deque([ 1 , 2 , 3 ]) # using append() to insert element at right end # inserts 4 at the end of deque de.append( 4 ) # printing modified deque print ( "The deque after appending at right is : " ) print (de) # using appendleft() to insert element at left end # inserts 6 at the beginning of deque de.appendleft( 6 ) # printing modified deque print ( "The deque after appending at left is : " ) print (de) # using pop() to delete element from right end # deletes 4 from the right end of deque de.pop() # printing modified deque print ( "The deque after deleting from right is : " ) print (de) # using popleft() to delete element from left end # deletes 6 from the left end of deque de.popleft() # printing modified deque print ( "The deque after deleting from left is : " ) print (de) |
输出:
The deque after appending at right is : deque([1, 2, 3, 4])The deque after appending at left is : deque([6, 1, 2, 3, 4])The deque after deleting from right is : deque([6, 1, 2, 3])The deque after deleting from left is : deque([1, 2, 3])
- 索引(ele、beg、end) :-这个功能 返回值的第一个索引 在辩论中提到, 自始至终都在寻找 指数
- 插入(i,a) :-这个功能 插入值 在论点(a)中提到 at索引(i) 在参数中指定。
- 删除() :-这个功能 删除第一个匹配项 在论点中提到的价值。
- 计数() :-这个功能 统计发生的次数 在论点中提到的价值。
Python3
# Python code to demonstrate working of # insert(), index(), remove(), count() # importing "collections" for deque operations import collections # initializing deque de = collections.deque([ 1 , 2 , 3 , 3 , 4 , 2 , 4 ]) # using index() to print the first occurrence of 4 print ( "The number 4 first occurs at a position : " ) print (de.index( 4 , 2 , 5 )) # using insert() to insert the value 3 at 5th position de.insert( 4 , 3 ) # printing modified deque print ( "The deque after inserting 3 at 5th position is : " ) print (de) # using count() to count the occurrences of 3 print ( "The count of 3 in deque is : " ) print (de.count( 3 )) # using remove() to remove the first occurrence of 3 de.remove( 3 ) # printing modified deque print ( "The deque after deleting first occurrence of 3 is : " ) print (de) |
输出:
The number 4 first occurs at a position : 4The deque after inserting 3 at 5th position is : deque([1, 2, 3, 3, 3, 4, 2, 4])The count of 3 in deque is : 3The deque after deleting first occurrence of 3 is : deque([1, 2, 3, 3, 4, 2, 4])
- 扩展(可扩展) :-此函数用于 在右端添加多个值 德克家族的。通过的论点是站不住脚的。
- 可扩展的(可扩展的) :-此函数用于 在左端添加多个值 德克家族的。通过的论点是站不住脚的。 顺序颠倒了 由于左附肢。
- 反向 :-此函数用于 颠倒顺序 德克元素。
- 轮换 :-这个功能 旋转三角形 按参数中指定的数字。 如果指定的数字为负数,则向左旋转。否则旋转就是向右。
Python3
# Python code to demonstrate working of # extend(), extendleft(), rotate(), reverse() # importing "collections" for deque operations import collections # initializing deque de = collections.deque([ 1 , 2 , 3 ,]) # using extend() to add numbers to right end # adds 4,5,6 to right end de.extend([ 4 , 5 , 6 ]) # printing modified deque print ( "The deque after extending deque at end is : " ) print (de) # using extendleft() to add numbers to left end # adds 7,8,9 to left end de.extendleft([ 7 , 8 , 9 ]) # printing modified deque print ( "The deque after extending deque at beginning is : " ) print (de) # using rotate() to rotate the deque # rotates by 3 to left de.rotate( - 3 ) # printing modified deque print ( "The deque after rotating deque is : " ) print (de) # using reverse() to reverse the deque de.reverse() # printing modified deque print ( "The deque after reversing deque is : " ) print (de) |
输出:
The deque after extending deque at end is : deque([1, 2, 3, 4, 5, 6])The deque after extending deque at beginning is : deque([9, 8, 7, 1, 2, 3, 4, 5, 6])The deque after rotating deque is : deque([1, 2, 3, 4, 5, 6, 9, 8, 7])The deque after reversing deque is : deque([7, 8, 9, 6, 5, 4, 3, 2, 1])
本文由 曼吉星 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END