from collections import deque
from icecream import ic
a = deque()
ic(a)
a.extend([1, 2, 3, 4])
ic(a)
a.extendleft([-4, -3 ,-2, -1])
ic(a)
我们看一下结果
这里就有一个坑,他extend添加在尾端的顺序和我传入的顺序是相同的,但是我们extendleft在首段添加,可以看到实际顺序和我传入的顺序相反。
看了一下官网,好叭还真有说明:
看了一下stackoverflow上说的意思应该是每次取一个元素然后appendleft,但还是想自己去找一下看看。
尝试去找了一下他的实现过程
在__init__.py中,将deque注册成MutableSequence的子类
但是相关的几个文件中都没有extendleft函数的实现,最终只能这样吧。
如果有找到的,希望评论区分享一下