如果我有五個項目的列表,並且我希望獲得該列表的每個排列,那麼將如何保持第一個和最後一個項目相同?如何將列表的第一項添加到該列表的所有排列的末尾?
如同那樣,該列表中的五個項目將產生列表的120個排列,其中列表中將有六個項目,但是第一個和最後一個項目將是相同的。以下是我迄今爲止所做的。任何幫助將不勝感激。
from itertools import permutations
airportlist = ["airport1", "airport2", "airport3", "airport4", "airport5"]
permlist = permutations(airportlist, 5)
print(permlist)
print(list(permlist))
for i in list(permlist):
newlist = (list(i))
print(newlist)# getting e.g. ['airport1', 'airport5', 'airport2', 'airport4', 'airport3']
print(list(i)[0]) # getting (to continue above example) airport1
newerlist = (list(i).append((list(i)[0])))
print(newerlist)#getting None but want ['airport1', 'airport5', 'airport2', 'airport4', 'airport3', 'airport1']
這可能嗎?
感謝您的快速回復!這很棒,但不是我想要的。 –
我想要['airport1','airport3','airport2','airport4','airport5'],['airport2','airport3','airport1','airport4','airport5'] ...#全部120個排列],機場1,機場3,機場2,機場4,機場5,機場1,機場2,機場3,機場1,機場4,機場5, ,'airport2']即仍然排列所有列表,但每次將第一項添加到列表的末尾。那有意義嗎? –
@GavinMcCoy檢查編輯。 –