诚然,我是一个非常缺乏经验的程序员,他的任务是创建一个Python程序,根据其他学生的四种选择(他们想要的3名学生)将学生按酒店房间进行排序。我正在使用一种非常基本的方法,因为我既没有时间也没有能力创建更高级的代码。这当然是一个初学者提出的问题,但我一直在尝试使用itertools.combinations()函数来创建一个长度为4的所有可能的学生组的列表。要执行我的程序的以下步骤,我需要在一个更大的列表中列出4个学生(每个组)。到目前为止,我尝试过的一切都不起作用,下面代码的计划依赖于创建一个4组的嵌套列表。
for comb in itertools.combinations(names, 4):
combs = []
for list in comb:
combs.append(list)
print(combs)
上面是我最接近创建我想要的列表的尝试之一,但是输出如下:
['Destinee', 'Dahlia', 'Rylie', 'Lauryn']
['Destinee', 'Dahlia', 'Rylie', 'Katelynn']
['Destinee', 'Dahlia', 'Rylie', 'Alondra']
['Destinee', 'Dahlia', 'Rylie', 'Amber']
['Destinee', 'Dahlia', 'Rylie', 'Diya']
['Destinee', 'Dahlia', 'Rylie', 'Delilah']
['Destinee', 'Dahlia', 'Rylie', 'Jazlyn']
['Destinee', 'Dahlia', 'Rylie', 'Alexus']
['Destinee', 'Dahlia', 'Rylie', 'Alissa']
['Destinee', 'Dahlia', 'Rylie', 'Alma']
['Destinee', 'Dahlia', 'Rylie', 'India']
['Destinee', 'Dahlia', 'Rylie', 'Kyla']
['Destinee', 'Dahlia', 'Rylie', 'Macy']
(这种情况持续了一段时间)。我如何将这些单独的列表放在更大的列表中?
发布于 2022-01-24 07:07:49
import itertools
large_list = []
for comb in itertools.combinations(names, 4):
#combs = [] # this line is not needed
#for list in comb:
#combs.append(list) # neither is this one, if you print comb it is already a list
large_list.append(comb)
print(combs)
names = ['Peter', 'John', 'Angela', 'Jim', 'Derek', 'Gabriella']
combs = list(itertools.combinations(names, 4))
'''
combs :
[('Peter', 'John', 'Angela', 'Jim'),
('Peter', 'John', 'Angela', 'Derek'),
('Peter', 'John', 'Angela', 'Gabriella'),
('Peter', 'John', 'Jim', 'Derek'),
('Peter', 'John', 'Jim', 'Gabriella'),
('Peter', 'John', 'Derek', 'Gabriella'),
('Peter', 'Angela', 'Jim', 'Derek'),
('Peter', 'Angela', 'Jim', 'Gabriella'),
('Peter', 'Angela', 'Derek', 'Gabriella'),
('Peter', 'Jim', 'Derek', 'Gabriella'),
('John', 'Angela', 'Jim', 'Derek'),
('John', 'Angela', 'Jim', 'Gabriella'),
('John', 'Angela', 'Derek', 'Gabriella'),
('John', 'Jim', 'Derek', 'Gabriella'),
('Angela', 'Jim', 'Derek', 'Gabriella')]
只需将梳子列表添加到large_list
,它将保存所有组合。
或者您可以使用list(itertools.combinations(names, 4))
,这也会产生一个大列表。
ps从不使用list
作为变量名,list
是python中的一个函数。
https://stackoverflow.com/questions/70835929
复制相似问题