Python中的Deque附加字典与Deque字典

问题描述

试着把 t2.* 添加SELECT * FROM t1 JOIN t2 USING (ID,Date)

以这个例子为例:

dictionary

如果我打印:

deque

我得到这个 from collections import deque graph={} graph['key']=['value_1','value_2','value_3'] implement_first=deque() implement_second=deque(graph['key']) implement_first.append(graph['key']) 并且 print(implement_first) print(implement_first.popleft())

如果我打印:

deque([['value_1','value_3']])

我明白了: ['value_1','value_3']print(implement_second) print(implement_second.popleft())

那么这里发生了什么?为什么我会得到 deque(['value_1','value_3']) 的列表,这个实现 value_1 的作用是什么?

解决方法

以下两个不等价

d1 = deque(x)

d2 = deque()
d2.append(x)

deque 构造函数接受一个可迭代对象并附加其所有元素。所以下面的2个是一样的

d1 = deque(x)

d2 = deque()
for y in x:
    d2.append(y)

你的不会引发任何错误,因为 graph["key"] 是一个列表(一个可迭代的),它可以变成一个 deque 并且成为 一个 deque

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...