我的元組下面的列表:克隆元組列表中的每個元組的長度在列表
indices = [(1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)]
我運行以下命令,獲取:
indices2 = []
for j in range(len(indices)):
indices2.append(indices[j] * len(indices[j]))
indices2
其中給出:
[(1,), (2,), (3,), (1, 2, 1, 2), (1, 3, 1, 3), (2, 3, 2, 3), (1, 2, 3, 1, 2, 3, 1, 2, 3)]
不過,我想獲得:
[(1,), (2,), (3,), (1, 2), (1, 2), (1, 3), (1, 3), (2, 3), (2, 3), (1, 2, 3), (1, 2, 3),
(1, 2, 3)]
我在哪裏做錯了?
'list(chain(* [(t,)* len(t)for t in indices]))'in one line。 – salparadise
@salparadise謝謝你,我喜歡最好的一行解決方案:)如果你不想發佈答案,我會添加一個確認。 – atru
試圖將所有內容都納入到首字間內可能有害,我建議你先將它改正,如果可以更具表現力,那麼就讓它成爲次要目標。此外,我把邏輯你的答案:),如果你想upvote另一個我的答案,你喜歡:) – salparadise