我試圖找到一種方法來遍歷單個串列的回圈,每次都跳過第一個元素。
例如,如果我有一個串列:
lst = [0,1,2,3,4,5,6]
并希望使用 for 回圈遍歷除第一個元素之外的所有元素并在任意點停止。因此,如果我希望從 lst 的索引 1 開始并通過每個元素的回圈(不包括第一個元素),我可以使用以下內容:
scd = [1,2,3,4,5,6]
out = []
for i in range (1,14 1):
if (i%len(lst)) not in scd:
continue
else:
out.append(lst[i%len(lst)])
print(out)
它回傳一個只有 12 個元素的串列:
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
我想要得到的輸出是:
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2]
我知道問題在于在continuefor 回圈中使用,但我正在努力尋找一種可以讓我獲得所需輸出的解決方法。
任何幫助將不勝感激。另外,如果有一種更 Pythonic 的方式來解決這個問題,我會全神貫注。
非常感謝。
uj5u.com熱心網友回復:
IIUC,您只是想重復相同的串列,對嗎?怎么樣,您可以使用以下方式連接串列divmod:
num = 14
i,j = divmod(num, len(lst)-1)
out = lst[1:] * i lst[1:1 j]
輸出:
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/448616.html
標籤:Python python-3.x 列表 for循环
上一篇:在Python中,如何重寫算術運算子“/”以產生:1/0=>math.inf?
下一篇:從用戶輸入創建選單
