反轉配置為雙重串列的值我正在嘗試反轉雙重串列元素
我想用遞回函式翻轉它
xss1 == [[a1,a2], [b1,b2,b3,b4], [c1,c2,c3]]
#result
xss2 == [[c3,c2,c1], [b4,b3,b2,b1], [a2,a1]]
我想做一個像 xss2 這樣的結果
def xxR(xs):
if xs != []:
return [xs[-1]] xxR(xs[:-1])
else:
return []
我試著翻轉整個東西,但你能告訴我元素翻轉嗎?
uj5u.com熱心網友回復:
您的解決方案很接近。您缺少的是在將當前元素附加到回傳值之前反轉當前元素:
def invert(xs):
if not xs:
return []
return [xs[-1][::-1]] invert(xs[:-1])
輸出將是:
[['c3', 'c2', 'c1'], ['b4', 'b3', 'b2', 'b1'], ['a2', 'a1']]
uj5u.com熱心網友回復:
這是一個帶有串列理解的單行代碼:
l = [["a1","a2"], ["b1","b2","b3","b4"], ["c1","c2","c3"]]
rslt = [sub_l[::-1] for sub_l in l][::-1]
輸出:
[['c3', 'c2', 'c1'], ['b4', 'b3', 'b2', 'b1'], ['a2', 'a1']]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/489051.html
