Python 将列表拆分为队列
我正在用python进行一个项目,我需要将一个随机长度的数字列表分成三个相等的部分。我将代码简化为一种基本情况,以便找出基本的方法,然后使用列表和队列中的对象(而不仅仅是数字)用于我的模块化程序。我真的不知道如何分割它,所以我只是把它设置好 这是我的基本代码Python 将列表拆分为队列,python,list,split,queue,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)
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()
好的,如果不是很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)
len_3rd=len(l)/3
对于枚举(l)中的i,el:
如果我 如果i>=len_3rd且列表长度可以从1到15不等,则不能总是将列表拆分为三个长度相同的队列。如果列表长度为4或7,预期输出是什么?可能重复的