名单更换项目比方说,我有一个列表或类型的数组:在所有可能的排列
mylist = [1, 2, 3, 4]
而且我要在此列表中替换的项目。通常我会使用类似以下的东西:
mylist[2] = 7
这很好。但是,有人可以解释如何在替换mylist
中的一个或多个项目时创建所有可能的mylist
排列。例如,我想创建以下文件:
[7, 2, 3, 4]
[7, 7, 3, 4]
[7, 2, 7, 4]
[7, 7, 7, 4]
[7, 2, 3, 7]
...(and so on)
我知道我可以使用itertools
生成所有可能的排列,但我怎么可以指定我想在列表生成之前在所有可能的位置取代一个项目排列?这里是我试图用itertools
:
list(itertools.permutations([1,2,3,4,7], 4))
这不起作用,因为它不按置换替代7
超过一次,而且它也产生置换不包括数量7
。
你的例子似乎表明你想用你的例子中的值('7')代替列表中的至少一个项目,同时留下未替换的项目。你是这个意思吗?那么在你的例子中,结果中会有15个列表? –
我不明白你在一些结果列表中如何得到两到三个七次方。 – timgeb
这个问题很难解释。我正在寻找替代所有可能的位置,从而生成排列列表。我试图用这种方式解释它,因为我专注于使用itertools.permutations来解决这个问题。也许这不是正确的措辞。 – Alligator