名單更換項目比方說,我有一個列表或類型的數組:在所有可能的排列
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