from multiprocessing import Queue
name_list = ['kevin', 'bob', 'jerry', 'rose', 'mike', 'tom']
def pass_potato(name_list, num):
sum_queue = Queue()
for name in name_list:
sum_queue.put(name)
for i in range(num):
sum_queue.put(sum_queue.get()) #将开头的值取出然后放入末尾,组成一个圈
return sum_queue.get() # 将开头的人输出,就是到了数后还拿着土豆的人
print(pass_potato(name_list, 8))
为何写这个:听课时想到能否将队列围成一个圈进行反复的取值,在某些时候可以优于列表的取值,虽然列表也能够实现但相对来说更麻烦
可以基于这个代码逻辑扩大增加细化更多的功能用法