Python从外部线程返回deque

Python从外部线程返回deque,python,multithreading,python-3.x,queue,deque,Python,Multithreading,Python 3.x,Queue,Deque,所以我在做这个程序,我想从线程外的线程中得到一个列表值。使用队列模块,我可以得到一个值,但不能得到一个列表。Deque似乎做了我想做的事情,但只有在另一个线程中读取Deque时才起作用。到目前为止,我得到的是: from collections import deque import datetime values = deque() def addValues(values): while True: found = 1 now = datetime.d

所以我在做这个程序,我想从线程外的线程中得到一个列表值。使用队列模块,我可以得到一个值,但不能得到一个列表。Deque似乎做了我想做的事情,但只有在另一个线程中读取Deque时才起作用。到目前为止,我得到的是:

from collections import deque
import datetime
values = deque()
def addValues(values):
    while True:
        found = 1
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        values.append((found,now))
        time.sleep(5)
t1 = threading.Thread(target=addValues, args=(values,))
t1.start()
while True:
    print(values)
    time.sleep(5)
目前它只是打印一个空的deque。我想让它打印带有附加值的数据

编辑:没关系,我问错问题了。整个螺纹应置于烧瓶内。当我在返回的时候,虽然是真的,但它不返回任何东西。很抱歉,我将为此提出另一个问题

对我有效:

deque([(1, '2018-01-30 14:38:22')])
deque([(1, '2018-01-30 14:38:22'), (1, '2018-01-30 14:38:27')])
deque([(1, '2018-01-30 14:38:22'), (1, '2018-01-30 14:38:27'), (1, '2018-01-30 14:38:32')])
Python 3.6.3

适用于我:

deque([(1, '2018-01-30 14:38:22')])
deque([(1, '2018-01-30 14:38:22'), (1, '2018-01-30 14:38:27')])
deque([(1, '2018-01-30 14:38:22'), (1, '2018-01-30 14:38:27'), (1, '2018-01-30 14:38:32')])

Python3.6.3

这段代码似乎可以工作。我每5秒打印一次
deque
,它变得越来越大。这个代码似乎很有效。我每5秒就把
deque
打印出来,它越来越大。你说得对。我认为我的问题是一个更大问题的一部分。我将更改问题,谢谢!你是对的。我认为我的问题是一个更大问题的一部分。我将更改问题,谢谢!