1
我想編寫一個遞歸代碼,該列表找出所有要從列表中選擇的重複項,k
元素。該代碼將返回包含所有選項的列表列表。在給定的列表元素的給定長度中查找所有具有重複的排列
我的代碼:
def repetitions(elements,k):
if elements==[]:
return []
if k==0:
return [[]]
else:
result=[]
result = repetitions(elements,k-1)
for e in result:
e.append(elements[0])
result.extend(repetitions(elements[1:],k))
return result
我的問題是,代碼不保留原始列表的順序。
例如:
repetitions([1,2],3)
[[1, 1, 1], [2, 1, 1], [2, 2, 1], [2, 2, 2]]
代替:
[[1, 1, 1], [1, 1, 2], [1, 2, 2], [2, 2, 2]]
我怎麼能修復我的代碼?
任何幫助表示讚賞。
@Lafexlos分配:對信息的感謝。與此同時,我試圖修復OP代碼。 –