将列表拆分为队列

时间:2015-05-10 16:05:18

标签: python list split queue

我正在使用python中的一个项目,我需要将具有随机长度的数字列表分成三个相等的部分。我已经将代码简化为基本情况,以便找出使用列表和队列中的对象而不仅仅是数字的模块化程序的基本方法。我真的不知道如何拆分它所以我只是设置它。

这是我的基本代码

import random 
import Queue
lenth = random.randint(1,15)
l = []

for i in range(lenth):
    im = random.randint(1,20)
    l.append(im)

qOne = Queue.Queue()
qTwo = Queue.Queue()
qThree = Queue.Queue()

1 个答案:

答案 0 :(得分:0)

好吧,如果不是非常pythonic,你可以在用简单的循环扫描列表时添加到队列中。 假设len(l) % 3 == 0

len_3rd = len(l)/3
for i,el in enumerate(l):
  if i < len_3rd:
   qOne.put(el)
  elif i>= len_3rd and i<2*len_3rd:
   qTwo.put(el)
  else:
   qThree.put(el)

或者用三个独立的循环来做,避免使用ifs。